# configsvr-statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: configsvr spec: serviceName: configsvr replicas: 3 selector: matchLabels: app: mongo-config template: metadata: labels: app: mongo-config spec: securityContext: fsGroup: 999 initContainers: - name: prepare-keyfile image: busybox:1.36 command: - sh - -c - | cp /secret/keyfile /work/keyfile chown 999:999 /work/keyfile chmod 400 /work/keyfile volumeMounts: - name: keyfile-secret mountPath: /secret - name: keyfile-work mountPath: /work containers: - name: mongod image: mongo:8.0 command: - mongod - "--configsvr" - "--replSet" - "configReplSet" - "--bind_ip_all" - "--keyFile" - "/etc/mongo-keyfile/keyfile" ports: - containerPort: 27019 volumeMounts: - name: data mountPath: /data/db - name: keyfile-work mountPath: /etc/mongo-keyfile readOnly: true volumes: - name: keyfile-secret secret: secretName: mongodb-keyfile - name: keyfile-work emptyDir: {} volumeClaimTemplates: - metadata: name: data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi