上传文件至 ''
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