apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-mongos namespace: mid spec: selector: matchLabels: app: mongo-mongos replicas: 3 template: metadata: annotations: app_name: mongo-mongos prometheus.com/path: /metrics prometheus.com/port: '9216' prometheus.com/scheme: http prometheus.com/scraped: 'true' labels: app: mongo-mongos spec: terminationGracePeriodSeconds: 10 containers: - name: mongo-mongos #image: mongo:4.4 #image: harbor.uenpay.com/base/mongo:4.4 image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mongo:4.4 command: - mongos - "--port" - "27017" - "--configdb" - "config/mongo-config-0.mongo-config-headless:27017,mongo-config-1.mongo-config-headless:27017,mongo-config-2.mongo-config-headless:27017" - "--bind_ip" - 0.0.0.0 ports: - containerPort: 27017 - args: - '--collect-all' - '--no-mongodb.direct-connect' env: - name: TZ value: Asia/Shanghai - name: MONGODB_URI value: >- mongodb://superadmin:mj4IgOEuAjiJhxG1sfVb@mongo-mongos-headless:27017 image: 'registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mongo-exporter:0.39.0' imagePullPolicy: IfNotPresent name: mongo-exporter ports: - containerPort: 9216 name: metric-port protocol: TCP --- # 标准服务(供外部访问) apiVersion: v1 kind: Service metadata: name: mongo-mongos-nodeport namespace: mid labels: name: mongo-mongos app: mongo-mongos spec: type: NodePort ports: - port: 27017 targetPort: 27017 nodePort: 30717 selector: app: mongo-mongos --- # headless 无头服务(提供域名供StatefulSet内部pod访问使用) apiVersion: v1 kind: Service metadata: name: mongo-mongos-headless namespace: mid labels: name: mongo-mongos spec: ports: - port: 27017 targetPort: 27017 clusterIP: None selector: app: mongo-mongos