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

#创建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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值