apiVersion: v1
kind: Pod
metadata:
  name: etcd
  namespace: kube-system
  labels:
    tier: control-plane
    component: etcd
spec:
  hostNetwork: true
  containers:
  - name: etcd
    image: gcr.io/etcd-development/etcd:v3.4.13-arm64
    command:
    - /usr/local/bin/etcd
    - --name=node112
    - --advertise-client-urls=https://192.168.1.112:2379
    - --initial-advertise-peer-urls=https://192.168.1.112:2380
    - --initial-cluster=node111=https://192.168.1.111:2380,node112=https://192.168.1.112:2380,node113=https://192.168.1.113:2380
    - --listen-client-urls=https://192.168.1.112:2379,https://127.0.0.1:2379
    - --listen-peer-urls=https://192.168.1.112:2380
    - --client-cert-auth=true
    - --cert-file=/etc/etcd/pki/etcd.crt
    - --key-file=/etc/etcd/pki/etcd.key
    - --trusted-ca-file=/etc/etcd/pki/ca.crt
    - --peer-client-cert-auth=true
    - --peer-cert-file=/etc/etcd/pki/etcd.crt
    - --peer-key-file=/etc/etcd/pki/etcd.key
    - --peer-trusted-ca-file=/etc/etcd/pki/ca.crt
    - --data-dir=/var/lib/etcd
    - --heartbeat-interval=1000
    - --election-timeout=10000
    env:
    - name: ETCD_UNSUPPORTED_ARCH
      value: arm64
    volumeMounts:
    - mountPath: /var/lib/etcd
      name: etcd
    - mountPath: /etc/ssl/certs
      name: ssl-certs-host
      readOnly: true
    - mountPath: /usr/share/ca-certificates
      name: ca-certs-host
      readOnly: true
    - mountPath: /etc/etcd/pki
      name: etcd-certs-host
      readOnly: true
  volumes:
  - hostPath:
      path: /var/lib/etcd
    name: etcd
  - hostPath:
      path: /etc/ssl/certs
    name: ssl-certs-host
  - hostPath:
      path: /usr/share/ca-certificates
    name: ca-certs-host
  - hostPath:
      path: /etc/etcd/pki
    name: etcd-certs-host
