上传文件至 ''
This commit is contained in:
parent
3e99ca1e20
commit
6606eeead4
211
基于Kubernetes集群构建MongoDB.md
Normal file
211
基于Kubernetes集群构建MongoDB.md
Normal file
@ -0,0 +1,211 @@
|
||||
<h1><center>基于Kubernetes集群构建MongoDB</center></h1>
|
||||
|
||||
作者:行癫(盗版必究)
|
||||
|
||||
------
|
||||
|
||||
## 一:基础环境
|
||||
|
||||
1.Kubernetes集群正常运行
|
||||
|
||||

|
||||
|
||||
2.Harbor私有仓库正常运行
|
||||
|
||||

|
||||
|
||||
## 二:MongoDB项目部署
|
||||
|
||||
MongoDB项目对应Kubernetes的yaml文件:
|
||||
|
||||
```yaml
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: mongodb
|
||||
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb
|
||||
name: mongodb
|
||||
namespace: mongodb
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: MONGO_INITDB_ROOT_USERNAME
|
||||
value: root
|
||||
- name: MONGO_INITDB_ROOT_PASSWORD
|
||||
value: xingdian
|
||||
image: mongo
|
||||
#image: 10.9.12.201/xingdian/mongo
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: mongodb
|
||||
ports:
|
||||
- containerPort: 27017
|
||||
name: sss
|
||||
protocol: TCP
|
||||
resources: {}
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /data/db
|
||||
name: volume-4ztti
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- name: volume-4ztti
|
||||
nfs:
|
||||
path: /data/mongodb
|
||||
server: 10.9.12.250
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb
|
||||
name: mongodb
|
||||
namespace: mongodb
|
||||
spec:
|
||||
clusterIP: 10.108.206.134
|
||||
clusterIPs:
|
||||
- 10.108.206.134
|
||||
externalTrafficPolicy: Cluster
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- name: 3cmrmd
|
||||
nodePort: 30150
|
||||
port: 27017
|
||||
protocol: TCP
|
||||
targetPort: 27017
|
||||
selector:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb
|
||||
sessionAffinity: None
|
||||
type: NodePort
|
||||
```
|
||||
|
||||
MongoDB-Express项目对应Kubernetes的yaml文件:
|
||||
|
||||
```
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb-express
|
||||
name: mongodb-express
|
||||
namespace: mongodb
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb-express
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb-express
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ME_CONFIG_MONGODB_ADMINUSERNAME
|
||||
value: root
|
||||
- name: ME_CONFIG_MONGODB_ADMINPASSEORD
|
||||
value: xingdian
|
||||
- name: ME_CONFIG_MONGODB_URL
|
||||
value: 'mongodb://root:xingdian@10.9.12.206:30150/'
|
||||
#注意这里是连接mongodb的url,其中root是用户,xingdian是密码
|
||||
image: 10.9.12.201/xingdian/mongo-express
|
||||
#image: mongodb-express
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: mongodb-express
|
||||
ports:
|
||||
- containerPort: 8081
|
||||
name: qq
|
||||
protocol: TCP
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
terminationGracePeriodSeconds: 30
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb-express
|
||||
name: mongodb-express
|
||||
namespace: mongodb
|
||||
resourceVersion: '36330826'
|
||||
spec:
|
||||
clusterIP: 10.110.224.114
|
||||
clusterIPs:
|
||||
- 10.110.224.114
|
||||
externalTrafficPolicy: Cluster
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- name: berrtc
|
||||
nodePort: 30151
|
||||
port: 8081
|
||||
protocol: TCP
|
||||
targetPort: 8081
|
||||
selector:
|
||||
k8s.kuboard.cn/layer: web
|
||||
k8s.kuboard.cn/name: mongodb-express
|
||||
sessionAffinity: None
|
||||
type: NodePort
|
||||
```
|
||||
|
||||
1.浏览器访问MongoDB管理界面
|
||||
|
||||

|
||||
|
||||
## 三:MongoDB使用
|
||||
|
Loading…
Reference in New Issue
Block a user