K8S部署MongoDB Redis
记录一次K8S部署mongoyaml文件---apiVersion: v1kind: PersistentVolumemetadata:name: pv-mongospec:capacity:storage: 2GaccessModes:- ReadWriteManystorageClassName: nfsnfs:path: /nfs/data/mongoserver: 10.120.22.25
·
记录一次K8S部署mongo
mongo.yaml文件
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-mongo
spec:
capacity:
storage: 2G
accessModes:
- ReadWriteMany
storageClassName: nfs
nfs:
path: /nfs/data/mongo
server: 10.120.22.25
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-mongo
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs
---
apiVersion: v1
data:
mongo.conf: |
systemLog:
destination: file
path: "/data/db/mongodb.log"
logAppend: true
processManagement:
fork: false
net:
bindIp: 0.0.0.0
port: 27017
storage:
engine: wiredTiger
dbPath: /data/db
wiredTiger:
engineConfig:
cacheSizeGB: 1
replication:
replSetName: "online"
kind: ConfigMap
metadata:
name: mongo-conf
---
apiVersion: v1
kind: Service
metadata:
name: mongo-service
labels:
name: mongo-service
spec:
selector:
app: mongo
ports:
- port: 27017
targetPort: 27017
type: NodePort
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: mongo
name: mongo
spec:
serviceName: "mongo"
replicas: 1
selector:
matchLabels:
app: mongo
template:
metadata:
labels:
app: mongo
spec:
containers:
- args:
- -f
- /etc/mongo/mongo.conf
command:
- mongod
name: mongo
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-data
mountPath: /data/db
- mountPath: /etc/mongo
name: mongo-conf
volumes:
- name: mongo-data
persistentVolumeClaim:
claimName: pvc-mongo
- name: mongo-conf
configMap:
name: mongo-conf
items:
- key: mongo.conf
path: mongo.conf
redis.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-redis
spec:
capacity:
storage: 2G
accessModes:
- ReadWriteMany
storageClassName: nfs
nfs:
path: /nfs/data/redis
server: 10.120.22.25
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-redis
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs
---
apiVersion: v1
data:
redis.conf: |
appendonly yes
kind: ConfigMap
metadata:
name: redis-conf
---
apiVersion: v1
kind: Service
metadata:
name: redis-service
labels:
name: redis-service
spec:
selector:
app: redis
ports:
- port: 6379
targetPort: 6379
type: NodePort
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: redis
name: redis
spec:
serviceName: "redis"
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis
command:
- redis-server
- "/redis-master/redis.conf" #指的是redis容器内部的位置
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /data
name: redis-data
- mountPath: /redis-master
name: redis-conf
volumes:
- name: redis-data
persistentVolumeClaim:
claimName: pvc-redis
- name: redis-conf
configMap:
name: redis-conf
items:
- key: redis.conf
path: redis.conf
直接使用一下命令即可:
kubectl apply -f xxx.yml
等待安装完成后进入容器执行一下命令
参考:https://www.jianshu.com/p/73b5ad930f47
mongo --host 127.0.0.1 --port 27017
rs.initiate()
否则会出现这些问题
更多推荐
所有评论(0)