# 第1个分片(每个分片有3个副本) apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-shard0 namespace: mid spec: selector: matchLabels: app: mongo-shard serviceName: "mongo-shard-headless" replicas: 3 template: metadata: labels: app: mongo-shard spec: terminationGracePeriodSeconds: 10 containers: - name: mongo-shard #image: mongo:4.4 #image: harbor.uenpay.com/base/mongo:4.4 image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mongo:4.4 command: - mongod - "--port" - "27017" - "--shardsvr" - "--replSet" - shard0 - "--bind_ip" - 0.0.0.0 ports: - containerPort: 27017 volumeMounts: - name: data mountPath: /data/db volumeClaimTemplates: - metadata: name: data # annotations: # volume.beta.kubernetes.io/storage-class: "cephfs-sc" spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- # 第2个分片(每个分片有3个副本) apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-shard1 namespace: mid spec: selector: matchLabels: app: mongo-shard serviceName: "mongo-shard-headless" replicas: 3 template: metadata: labels: app: mongo-shard spec: terminationGracePeriodSeconds: 10 containers: - name: mongo-shard #image: mongo:4.4 #image: harbor.uenpay.com/base/mongo:4.4 image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mongo:4.4 command: - mongod - "--port" - "27017" - "--shardsvr" - "--replSet" - shard1 - "--bind_ip" - 0.0.0.0 ports: - containerPort: 27017 volumeMounts: - name: data mountPath: /data/db volumeClaimTemplates: - metadata: name: data # annotations: # volume.beta.kubernetes.io/storage-class: "cephfs-sc" spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- # 第3个分片(每个分片有3个副本) apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-shard2 namespace: mid spec: selector: matchLabels: app: mongo-shard serviceName: "mongo-shard-headless" replicas: 3 template: metadata: labels: app: mongo-shard spec: terminationGracePeriodSeconds: 10 containers: - name: mongo-shard #image: mongo:4.4 #image: harbor.uenpay.com/base/mongo:4.4 image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mongo:4.4 command: - mongod - "--port" - "27017" - "--shardsvr" - "--replSet" - shard2 - "--bind_ip" - 0.0.0.0 ports: - containerPort: 27017 volumeMounts: - name: data mountPath: /data/db volumeClaimTemplates: - metadata: name: data # annotations: # volume.beta.kubernetes.io/storage-class: "cephfs-sc" spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- # headless 无头服务(提供域名供StatefulSet内部pod访问使用) apiVersion: v1 kind: Service metadata: name: mongo-shard-headless namespace: mid labels: name: mongo-shard spec: ports: - port: 27017 targetPort: 27017 clusterIP: None selector: app: mongo-shard