k8s 搭建mongodb

at 2年前  ca MongoDB  pv 1109  by touch  

1.共享盘创建

  1. mkdir -/data/mongodb/pv
  2. cat /etc/exports
  1. #/etc/exports
  2. 内容如下
  3. /data/mongodb/pv *(rw,sync,no_root_squash)
  4. /data/mysql/pv *(rw,sync,no_root_squash)
  5. /data/redis/pv *(rw,sync,no_root_squash)
  1. #重启服务
  2. systemctl restart rpcbind
  3. systemctl restart nfs

2.yaml文件

  1. apiVersion: v1
  2. kind: PersistentVolume
  3. metadata:
  4.   name: mongodb-pv
  5.   namespace: default
  6. spec:
  7.   capacity:
  8.     storage: 1Gi
  9.   accessModes:
  10.     - ReadWriteMany
  11.   persistentVolumeReclaimPolicy: Retain
  12.   storageClassName: nfs-mongodb
  13.   nfs:
  14.     path: /data/mongodb/pv
  15.     server: 1.1.1.1
  16.  
  17. ---
  18. kind: PersistentVolumeClaim
  19. apiVersion: v1
  20. metadata:
  21.   name: mongodb-pvc
  22.   namespace: default
  23. spec:
  24.   accessModes:
  25.     - ReadWriteMany
  26.   resources:
  27.     requests:
  28.       storage: 1Gi
  29.   storageClassName: nfs-mongodb
  30.  
  31. ---
  32. apiVersion: v1
  33. kind: Service
  34. metadata:
  35.   name: mongodb-svc
  36.   namespace: default
  37. spec:
  38.   type: NodePort
  39.   ports:
  40.     - name: mongo
  41.       port: 27017
  42.       targetPort: 27017
  43.       nodePort: 27017
  44.       protocol: TCP
  45.   selector:
  46.     app: mongodb
  47.  
  48. ---
  49. apiVersion: apps/v1
  50. kind: Deployment
  51. metadata:
  52.   name: mongo-deploy
  53.   namespace: default
  54. spec:
  55.   replicas: 1
  56.   selector:
  57.     matchLabels:
  58.       app: mongodb
  59.   template:
  60.     metadata:
  61.       labels:
  62.         app: mongodb
  63.     spec:
  64.       containers:
  65.         - name: mongodb
  66.           image: 1.1.1.1:5000/mongo:5.0.9
  67.           imagePullPolicy: IfNotPresent
  68.           env:
  69.             - name: MONGO_INITDB_ROOT_USERNAME #指定用户名
  70.               value: rwuser
  71.             - name: MONGO_INITDB_ROOT_PASSWORD #指定密码
  72.               value: 'L^JtMzIKD!KUcX8Z'
  73.           ports:
  74.             - containerPort: 27017
  75.           volumeMounts:
  76.             - name: mongo-pvc
  77.               mountPath: /data/db
  78.       volumes:
  79.         - name: mongo-pvc
  80.           persistentVolumeClaim:
  81.             claimName: mongodb-pvc

3.创建

  1. kubectl apply -f mongodb.yaml

4.mongo初始化

  1. #登录 pod
  2. #登录mongo
  3.  
  4. #禁止免认证登录
  5. db.createUser(
  6.   {
  7.     user: "root",
  8.     pwd: "xxxxxxx",
  9.     roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  10.   }
  11. )
  12.  
  13.  
  14. #创建库 用户
  15. use devops
  16. db.createUser(
  17.     {
  18.       user: "zhangsan",
  19.       pwd: "yyyyyyy",
  20.       roles: ["readWrite","dbAdmin"]
  21.     }
  22.  )


版权声明

本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。

 

扫一扫在手机阅读、分享本文

冀ICP备14009681号-2 Powered By 码农殇 Theme By zb脚本
您是本站第679名访客 今日有0篇新文章