apiVersion: apps/v1 kind: StatefulSet metadata: name: etcd namespace: coredns labels: app.kubernetes.io/name: etcd app.kubernetes.io/component: dns-backend spec: serviceName: etcd replicas: 1 selector: matchLabels: app.kubernetes.io/name: etcd template: metadata: labels: app.kubernetes.io/name: etcd spec: containers: - name: etcd image: quay.io/coreos/etcd:v3.5.17 ports: - containerPort: 2379 name: client - containerPort: 2380 name: peer env: - name: ETCD_DATA_DIR value: /etcd-data - name: ETCD_LISTEN_CLIENT_URLS value: http://0.0.0.0:2379 - name: ETCD_ADVERTISE_CLIENT_URLS value: http://etcd.coredns.svc.cluster.local:2379 - name: ETCD_LISTEN_PEER_URLS value: http://0.0.0.0:2380 - name: ETCD_INITIAL_ADVERTISE_PEER_URLS value: http://etcd-0.etcd.coredns.svc.cluster.local:2380 - name: ETCD_INITIAL_CLUSTER value: etcd-0=http://etcd-0.etcd.coredns.svc.cluster.local:2380 - name: ETCD_NAME value: etcd-0 resources: limits: cpu: 100m memory: 128Mi requests: cpu: 50m memory: 64Mi volumeMounts: - name: etcd-data mountPath: /etcd-data volumeClaimTemplates: - metadata: name: etcd-data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: etcd namespace: coredns labels: app.kubernetes.io/name: etcd spec: type: ClusterIP ports: - port: 2379 targetPort: 2379 name: client - port: 2380 targetPort: 2380 name: peer selector: app.kubernetes.io/name: etcd