k8s-statefulset创建mongo集群

首先创建headless

#创建对应的headless service
apiVersion: v1
kind: Service
metadata:
 name: mongo
 labels:
  name: mongo
spec:
 ports:
 - port: 27017
   targetPort: 27017
 clusterIP: None
 selector:
  role: mongo     

创建statefulset文章来源地址https://uudwc.com/A/R6geA

#创建StatusFulSet mongoDB
apiVersion: apps/v1
kind: StatefulSet
metadata:
 name: mongo
spec:
 selector:
   matchLabels:
    role: mongo #必须匹配 .spec.template.metadata.labels
 serviceName: "mongo"
 replicas: 3
 template:
  metadata:
   labels:
    role: mongo
    environment: test
  spec:
   terminationGracePeriodSeconds: 10
   containers:
   - name: mongo
     image: mongo
     ports:
     - containerPort: 27017
     volumeMounts:
     - name: mongo-persistent-storage
       mountPath: /data/db
   - name: mongo-sidecar
     image: cvallance/mongo-k8s-sidecar
     env:
     - name: MONGO_SIDECAR_POD_LABELS #设置为mongo容器的标签,用于sidecar查询它所要管理的mongoDB集群实例
       value: "role=mongo,environment=test"
     - name: KUBERNETES_MONGO_SERVICE_NAME #设置为mongo,表示sidecar将使用mongo这个服务名来完成MongoDB集群的设置
       value: "mongo"
 volumeClaimTemplates:
 - metadata:
    name: mongo-persistent-storage
   spec:
    accessModes: [ "ReadWriteOnce" ] #读写权限
    storageClassName: standard  #存储类storageClass名 这里使用k8s自带的StorageClass,它使用的是本地存储 localPath
    resources:
     requests:
       storage: 5Gi

原文地址:https://blog.csdn.net/ltgsoldier1/article/details/133246031

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月24日 20:41
vscode 设置左边文件栏缩进
下一篇 2023年09月24日 20:41