--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.21/23"],"mac_address":"0a:58:0a:82:00:15","gateway_ips":["10.130.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"}],"ip_address":"10.130.0.21/23","gateway_ip":"10.130.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.130.0.21" ], "mac": "0a:58:0a:82:00:15", "default": true, "dns": {} }] target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:40:51Z" labels: app: guard managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-0 operation: Update subresource: status time: "2025-10-11T10:40:51Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:40:52Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:spec: f:containers: k:{"name":"guard"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:host: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostname: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:41:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.130.0.21"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:48:47Z" name: etcd-guard-master-0 namespace: openshift-etcd resourceVersion: "29090" uid: c6436766-e7b0-471b-acbf-861280191521 spec: containers: - args: - -c - | # properly handle TERM and exit as soon as it is signaled set -euo pipefail trap 'jobs -p | xargs -r kill; exit 0' TERM sleep infinity & wait command: - /bin/bash image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: guard readinessProbe: failureThreshold: 3 httpGet: host: 192.168.34.10 path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: requests: cpu: 10m memory: 5Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-q64gl readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostname: guard-cd893d2f44138bd4b02957107c4a6323722bc19f-end imagePullSecrets: - name: default-dockercfg-rkxgf nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 2000000000 priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 3 tolerations: - operator: Exists volumes: - name: kube-api-access-q64gl projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:53Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:51Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:48:47Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:48:47Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:51Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://9e98490fd3666e68c05ba349bef300928b07e9009d6f846b655d69140196a8a3 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: guard ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:40:52Z" volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-q64gl readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 phase: Running podIP: 10.130.0.21 podIPs: - ip: 10.130.0.21 qosClass: Burstable startTime: "2025-10-11T10:40:51Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.129.0.33/23"],"mac_address":"0a:58:0a:81:00:21","gateway_ips":["10.129.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.129.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.129.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.129.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.129.0.1"}],"ip_address":"10.129.0.33/23","gateway_ip":"10.129.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.129.0.33" ], "mac": "0a:58:0a:81:00:21", "default": true, "dns": {} }] target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:29:34Z" labels: app: guard managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-1 operation: Update subresource: status time: "2025-10-11T10:29:34Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:29:35Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:spec: f:containers: k:{"name":"guard"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:host: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostname: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:29:38Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.129.0.33"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:44:39Z" name: etcd-guard-master-1 namespace: openshift-etcd resourceVersion: "23404" uid: 3fc4970d-4f34-4fc6-9791-6218f8e42eb9 spec: containers: - args: - -c - | # properly handle TERM and exit as soon as it is signaled set -euo pipefail trap 'jobs -p | xargs -r kill; exit 0' TERM sleep infinity & wait command: - /bin/bash image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: guard readinessProbe: failureThreshold: 3 httpGet: host: 192.168.34.11 path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: requests: cpu: 10m memory: 5Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-g9wvj readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostname: guard-e15778bb25489369d84772db4a75dcbc5fb3e3b1-end nodeName: master-1 preemptionPolicy: PreemptLowerPriority priority: 2000000000 priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 3 tolerations: - operator: Exists volumes: - name: kube-api-access-g9wvj projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:29:36Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:29:34Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:39Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:39Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:29:34Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://d9979a6eb84532ea8c8fdf3474fb9576ae4ba27a4e7d93fc9eeeadab89ea349f image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: guard ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:29:35Z" volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-g9wvj readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.11 hostIPs: - ip: 192.168.34.11 phase: Running podIP: 10.129.0.33 podIPs: - ip: 10.129.0.33 qosClass: Burstable startTime: "2025-10-11T10:29:34Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.128.0.56/23"],"mac_address":"0a:58:0a:80:00:38","gateway_ips":["10.128.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.128.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.128.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.128.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.128.0.1"}],"ip_address":"10.128.0.56/23","gateway_ip":"10.128.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.128.0.56" ], "mac": "0a:58:0a:80:00:38", "default": true, "dns": {} }] target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:31:57Z" labels: app: guard managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-2 operation: Update subresource: status time: "2025-10-11T10:31:57Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:31:58Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:spec: f:containers: k:{"name":"guard"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:host: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostname: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:32:04Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.128.0.56"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:46:18Z" name: etcd-guard-master-2 namespace: openshift-etcd resourceVersion: "24486" uid: 9314095b-1661-46bd-8e19-2741d9d758fa spec: containers: - args: - -c - | # properly handle TERM and exit as soon as it is signaled set -euo pipefail trap 'jobs -p | xargs -r kill; exit 0' TERM sleep infinity & wait command: - /bin/bash image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: guard readinessProbe: failureThreshold: 3 httpGet: host: 192.168.34.12 path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: requests: cpu: 10m memory: 5Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-gbsb4 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostname: guard-69fd8b804a3c30ec57f0b58c2b1fed3aea5b4112-end nodeName: master-2 preemptionPolicy: PreemptLowerPriority priority: 2000000000 priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 3 tolerations: - operator: Exists volumes: - name: kube-api-access-gbsb4 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:31:59Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:31:57Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:18Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:18Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:31:57Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://dd92959466cbdad70a80055ac1e16987cd678122f01b686d6b49af348560fd6b image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: guard ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:31:58Z" volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-gbsb4 readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.12 hostIPs: - ip: 192.168.34.12 phase: Running podIP: 10.128.0.56 podIPs: - ip: 10.128.0.56 qosClass: Burstable startTime: "2025-10-11T10:31:57Z" - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: etcd kubernetes.io/config.hash: 14286286be88b59efc7cfc15eca1cc38 kubernetes.io/config.mirror: 14286286be88b59efc7cfc15eca1cc38 kubernetes.io/config.seen: "2025-10-11T10:47:15.834390804Z" kubernetes.io/config.source: file target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:47:56Z" labels: app: etcd etcd: "true" k8s-app: etcd revision: "10" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:kubernetes.io/config.hash: {} f:kubernetes.io/config.mirror: {} f:kubernetes.io/config.seen: {} f:kubernetes.io/config.source: {} f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:etcd: {} f:k8s-app: {} f:revision: {} f:ownerReferences: .: {} k:{"uid":"97dd5b8a-350a-439c-8589-4fe0e8fb3b9e"}: {} f:spec: f:containers: k:{"name":"etcd"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":2379,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":2380,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":9978,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:startupProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-metrics"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9979,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-readyz"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9980,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-rev"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcdctl"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostNetwork: {} f:initContainers: .: {} k:{"name":"etcd-ensure-env-vars"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_IP"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} k:{"name":"etcd-resources-copy"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin"}: .: {} f:mountPath: {} f:name: {} k:{"name":"setup"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/log/etcd"}: .: {} f:mountPath: {} f:name: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"cert-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"config-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"data-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"etcd-auto-backup-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"log-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"resource-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"static-pod-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"usr-local-bin"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: kubelet operation: Update time: "2025-10-11T10:47:56Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"192.168.34.10"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:48:56Z" name: etcd-master-0 namespace: openshift-etcd ownerReferences: - apiVersion: v1 controller: true kind: Node name: master-0 uid: 97dd5b8a-350a-439c-8589-4fe0e8fb3b9e resourceVersion: "29423" uid: 6ef44fab-7f5d-4e7b-a512-a039df26afc1 spec: containers: - command: - /bin/bash - -c - trap TERM INT; sleep infinity & wait env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcdctl resources: requests: cpu: 10m memory: 60Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail etcdctl member list || true # this has a non-zero return code if the command is non-zero. If you use an export first, it doesn't and you # will succeed when you should fail. ETCD_INITIAL_CLUSTER=$(discover-etcd-initial-cluster \ --cacert=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --cert=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt \ --key=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key \ --endpoints=${ALL_ETCD_ENDPOINTS} \ --data-dir=/var/lib/etcd \ --target-peer-url-host=${NODE_master_0_ETCD_URL_HOST} \ --target-name=master-0) export ETCD_INITIAL_CLUSTER # we cannot use the "normal" port conflict initcontainer because when we upgrade, the existing static pod will never yield, # so we do the detection in etcd container itself. echo -n "Waiting for ports 2379, 2380 and 9978 to be released." time while [ -n "$(ss -Htan '( sport = 2379 or sport = 2380 or sport = 9978 )')" ]; do echo -n "." sleep 1 done export ETCD_NAME=${NODE_master_0_ETCD_NAME} env | grep ETCD | grep -v NODE set -x # See https://etcd.io/docs/v3.4.0/tuning/ for why we use ionice exec nice -n -19 ionice -c2 -n0 etcd \ --logger=zap \ --log-level=info \ --experimental-initial-corrupt-check=true \ --snapshot-count=10000 \ --initial-advertise-peer-urls=https://${NODE_master_0_IP}:2380 \ --cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-0.crt \ --key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-0.key \ --trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --client-cert-auth=true \ --peer-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt \ --peer-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key \ --peer-trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --peer-client-cert-auth=true \ --advertise-client-urls=https://${NODE_master_0_IP}:2379 \ --listen-client-urls=https://0.0.0.0:2379,unixs://${NODE_master_0_IP}:0 \ --listen-peer-urls=https://0.0.0.0:2380 \ --metrics=extensive \ --listen-metrics-urls=https://0.0.0.0:9978 || mv /etc/kubernetes/etcd-backup-dir/etcd-member.yaml /etc/kubernetes/manifests env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 httpGet: path: healthz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 name: etcd ports: - containerPort: 2379 hostPort: 2379 name: etcd protocol: TCP - containerPort: 2380 hostPort: 2380 name: etcd-peer protocol: TCP - containerPort: 9978 hostPort: 9978 name: etcd-metrics protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 resources: requests: cpu: 300m memory: 600Mi securityContext: privileged: true startupProbe: failureThreshold: 18 httpGet: path: readyz port: 9980 scheme: HTTPS initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail export ETCD_NAME=${NODE_master_0_ETCD_NAME} exec nice -n -18 etcd grpc-proxy start \ --endpoints https://${NODE_master_0_ETCD_URL_HOST}:9978 \ --metrics-addr https://0.0.0.0:9979 \ --listen-addr 127.0.0.1:9977 \ --advertise-client-url "" \ --key /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key \ --key-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-0.key \ --cert /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt \ --cert-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-0.crt \ --cacert /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --trusted-ca-file /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/metrics-ca-bundle.crt \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --tls-min-version $(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-metrics ports: - containerPort: 9979 hostPort: 9979 name: proxy-metrics protocol: TCP resources: requests: cpu: 40m memory: 200Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail exec nice -n -18 cluster-etcd-operator readyz \ --target=https://localhost:2379 \ --listen-port=9980 \ --serving-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-0.crt \ --serving-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-0.key \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --listen-tls-min-version=$(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-readyz ports: - containerPort: 9980 hostPort: 9980 name: readyz protocol: TCP resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail cluster-etcd-operator rev \ --endpoints=$(ALL_ETCD_ENDPOINTS) \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-rev resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true initContainers: - command: - /bin/sh - -c - | #!/bin/sh echo -n "Fixing etcd log permissions." mkdir -p /var/log/etcd && chmod 0600 /var/log/etcd echo -n "Fixing etcd auto backup permissions." mkdir -p /var/lib/etcd-auto-backup && chmod 0600 /var/lib/etcd-auto-backup image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: setup resources: requests: cpu: 5m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd name: log-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail : "${NODE_master_0_ETCD_URL_HOST?not set}" : "${NODE_master_0_ETCD_NAME?not set}" : "${NODE_master_0_IP?not set}" # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_0_IP}" != "${NODE_IP}" && "${NODE_master_0_IP}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected node IP to be ${NODE_IP} got ${NODE_master_0_IP}" >&2 exit 1 fi # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_0_ETCD_URL_HOST}" != "${NODE_IP}" && "${NODE_master_0_ETCD_URL_HOST}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected etcd url host to be ${NODE_IP} got ${NODE_master_0_ETCD_URL_HOST}" >&2 exit 1 fi env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-0.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: NODE_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-ensure-env-vars resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail rm -f $(grep -l '^### Created by cluster-etcd-operator' /usr/local/bin/*) cp -p /etc/kubernetes/static-pod-certs/configmaps/etcd-scripts/*.sh /usr/local/bin image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-resources-copy resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/manifests type: "" name: static-pod-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-pod-10 type: "" name: resource-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-certs type: "" name: cert-dir - hostPath: path: /var/lib/etcd type: "" name: data-dir - hostPath: path: /usr/local/bin type: "" name: usr-local-bin - hostPath: path: /var/log/etcd type: "" name: log-dir - hostPath: path: /etc/kubernetes type: "" name: config-dir - hostPath: path: /var/lib/etcd-auto-backup type: "" name: etcd-auto-backup-dir status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:47:56Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:47:58Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:48:56Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:48:56Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:37Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://2f7bcc72fad76121492b63caeffaf1694217e2478cc44d558ae9c6beb845205e image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:47:59Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://0dd6722942b406e54c78f2254c3ac8a43586d9102f113302b3c46811ed8a2fd7 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-metrics ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:47:59Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://c1eb6340e8713b2b5442e1c58163b72b76e3b53b381610ba551f21765bb9d626 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-readyz ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:47:59Z" volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://b5344628af1fb60355807e51149b37a4033b5ad835d2decefc545134b802a8db image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-rev ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:48:01Z" volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://f9192c343b8e534587ea6333b21771e1b2fc25d380603ab9c4b5eaf439343cdb image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcdctl ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:47:59Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 initContainerStatuses: - containerID: cri-o://bfadd2755eb7320911873101cfc631f1a704f65f1ecce019279ff9bc67ece8e4 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: setup ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://bfadd2755eb7320911873101cfc631f1a704f65f1ecce019279ff9bc67ece8e4 exitCode: 0 finishedAt: "2025-10-11T10:47:56Z" reason: Completed startedAt: "2025-10-11T10:47:56Z" volumeMounts: - mountPath: /var/log/etcd name: log-dir - containerID: cri-o://7d63b1afde70e72ad60f45f2155003b889c6d6ab5be70efe5f737a384950ad05 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-ensure-env-vars ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://7d63b1afde70e72ad60f45f2155003b889c6d6ab5be70efe5f737a384950ad05 exitCode: 0 finishedAt: "2025-10-11T10:47:57Z" reason: Completed startedAt: "2025-10-11T10:47:57Z" - containerID: cri-o://6591437e1f6567863066369b6d16e7e64b625afe8e9aac3f31ee299e2668dd5c image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-resources-copy ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://6591437e1f6567863066369b6d16e7e64b625afe8e9aac3f31ee299e2668dd5c exitCode: 0 finishedAt: "2025-10-11T10:47:58Z" reason: Completed startedAt: "2025-10-11T10:47:58Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin phase: Running podIP: 192.168.34.10 podIPs: - ip: 192.168.34.10 qosClass: Burstable startTime: "2025-10-11T10:40:37Z" - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: etcd kubernetes.io/config.hash: dbeb1098f6b7e52b91afcf2e9b50b014 kubernetes.io/config.mirror: dbeb1098f6b7e52b91afcf2e9b50b014 kubernetes.io/config.seen: "2025-10-11T10:43:05.023447165Z" kubernetes.io/config.source: file target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:43:46Z" labels: app: etcd etcd: "true" k8s-app: etcd revision: "10" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:kubernetes.io/config.hash: {} f:kubernetes.io/config.mirror: {} f:kubernetes.io/config.seen: {} f:kubernetes.io/config.source: {} f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:etcd: {} f:k8s-app: {} f:revision: {} f:ownerReferences: .: {} k:{"uid":"a42c3d58-398c-4d83-a471-700c0c6694c4"}: {} f:spec: f:containers: k:{"name":"etcd"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":2379,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":2380,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":9978,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:startupProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-metrics"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9979,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-readyz"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9980,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-rev"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcdctl"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostNetwork: {} f:initContainers: .: {} k:{"name":"etcd-ensure-env-vars"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_IP"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} k:{"name":"etcd-resources-copy"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin"}: .: {} f:mountPath: {} f:name: {} k:{"name":"setup"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/log/etcd"}: .: {} f:mountPath: {} f:name: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"cert-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"config-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"data-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"etcd-auto-backup-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"log-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"resource-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"static-pod-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"usr-local-bin"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: kubelet operation: Update time: "2025-10-11T10:43:46Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"192.168.34.11"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:44:46Z" name: etcd-master-1 namespace: openshift-etcd ownerReferences: - apiVersion: v1 controller: true kind: Node name: master-1 uid: a42c3d58-398c-4d83-a471-700c0c6694c4 resourceVersion: "23445" uid: 07099a41-85af-4e90-8d4e-251103f5bdd5 spec: containers: - command: - /bin/bash - -c - trap TERM INT; sleep infinity & wait env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcdctl resources: requests: cpu: 10m memory: 60Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail etcdctl member list || true # this has a non-zero return code if the command is non-zero. If you use an export first, it doesn't and you # will succeed when you should fail. ETCD_INITIAL_CLUSTER=$(discover-etcd-initial-cluster \ --cacert=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --cert=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt \ --key=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key \ --endpoints=${ALL_ETCD_ENDPOINTS} \ --data-dir=/var/lib/etcd \ --target-peer-url-host=${NODE_master_1_ETCD_URL_HOST} \ --target-name=master-1) export ETCD_INITIAL_CLUSTER # we cannot use the "normal" port conflict initcontainer because when we upgrade, the existing static pod will never yield, # so we do the detection in etcd container itself. echo -n "Waiting for ports 2379, 2380 and 9978 to be released." time while [ -n "$(ss -Htan '( sport = 2379 or sport = 2380 or sport = 9978 )')" ]; do echo -n "." sleep 1 done export ETCD_NAME=${NODE_master_1_ETCD_NAME} env | grep ETCD | grep -v NODE set -x # See https://etcd.io/docs/v3.4.0/tuning/ for why we use ionice exec nice -n -19 ionice -c2 -n0 etcd \ --logger=zap \ --log-level=info \ --experimental-initial-corrupt-check=true \ --snapshot-count=10000 \ --initial-advertise-peer-urls=https://${NODE_master_1_IP}:2380 \ --cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-1.crt \ --key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-1.key \ --trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --client-cert-auth=true \ --peer-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt \ --peer-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key \ --peer-trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --peer-client-cert-auth=true \ --advertise-client-urls=https://${NODE_master_1_IP}:2379 \ --listen-client-urls=https://0.0.0.0:2379,unixs://${NODE_master_1_IP}:0 \ --listen-peer-urls=https://0.0.0.0:2380 \ --metrics=extensive \ --listen-metrics-urls=https://0.0.0.0:9978 || mv /etc/kubernetes/etcd-backup-dir/etcd-member.yaml /etc/kubernetes/manifests env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 httpGet: path: healthz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 name: etcd ports: - containerPort: 2379 hostPort: 2379 name: etcd protocol: TCP - containerPort: 2380 hostPort: 2380 name: etcd-peer protocol: TCP - containerPort: 9978 hostPort: 9978 name: etcd-metrics protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 resources: requests: cpu: 300m memory: 600Mi securityContext: privileged: true startupProbe: failureThreshold: 18 httpGet: path: readyz port: 9980 scheme: HTTPS initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail export ETCD_NAME=${NODE_master_1_ETCD_NAME} exec nice -n -18 etcd grpc-proxy start \ --endpoints https://${NODE_master_1_ETCD_URL_HOST}:9978 \ --metrics-addr https://0.0.0.0:9979 \ --listen-addr 127.0.0.1:9977 \ --advertise-client-url "" \ --key /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key \ --key-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-1.key \ --cert /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt \ --cert-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-1.crt \ --cacert /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --trusted-ca-file /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/metrics-ca-bundle.crt \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --tls-min-version $(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-metrics ports: - containerPort: 9979 hostPort: 9979 name: proxy-metrics protocol: TCP resources: requests: cpu: 40m memory: 200Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail exec nice -n -18 cluster-etcd-operator readyz \ --target=https://localhost:2379 \ --listen-port=9980 \ --serving-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-1.crt \ --serving-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-1.key \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --listen-tls-min-version=$(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-readyz ports: - containerPort: 9980 hostPort: 9980 name: readyz protocol: TCP resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail cluster-etcd-operator rev \ --endpoints=$(ALL_ETCD_ENDPOINTS) \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-rev resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true initContainers: - command: - /bin/sh - -c - | #!/bin/sh echo -n "Fixing etcd log permissions." mkdir -p /var/log/etcd && chmod 0600 /var/log/etcd echo -n "Fixing etcd auto backup permissions." mkdir -p /var/lib/etcd-auto-backup && chmod 0600 /var/lib/etcd-auto-backup image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: setup resources: requests: cpu: 5m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd name: log-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail : "${NODE_master_1_ETCD_URL_HOST?not set}" : "${NODE_master_1_ETCD_NAME?not set}" : "${NODE_master_1_IP?not set}" # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_1_IP}" != "${NODE_IP}" && "${NODE_master_1_IP}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected node IP to be ${NODE_IP} got ${NODE_master_1_IP}" >&2 exit 1 fi # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_1_ETCD_URL_HOST}" != "${NODE_IP}" && "${NODE_master_1_ETCD_URL_HOST}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected etcd url host to be ${NODE_IP} got ${NODE_master_1_ETCD_URL_HOST}" >&2 exit 1 fi env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-1.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: NODE_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-ensure-env-vars resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail rm -f $(grep -l '^### Created by cluster-etcd-operator' /usr/local/bin/*) cp -p /etc/kubernetes/static-pod-certs/configmaps/etcd-scripts/*.sh /usr/local/bin image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-resources-copy resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin nodeName: master-1 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/manifests type: "" name: static-pod-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-pod-10 type: "" name: resource-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-certs type: "" name: cert-dir - hostPath: path: /var/lib/etcd type: "" name: data-dir - hostPath: path: /usr/local/bin type: "" name: usr-local-bin - hostPath: path: /var/log/etcd type: "" name: log-dir - hostPath: path: /etc/kubernetes type: "" name: config-dir - hostPath: path: /var/lib/etcd-auto-backup type: "" name: etcd-auto-backup-dir status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:43:47Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:43:49Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:46Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:46Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:29:27Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://9a89c09ca6e91647da081f97087658c1b11fe705a16ff46043003c3fbbcd0e8e image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:43:50Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://2230bc9413b16f3b0764a9834ddc735459529336c9441bb2965aa9ffe5d841d9 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-metrics ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:43:50Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://c78b119fc172933815c1d2c54198af0cd4a86318e7a1301b7b416c3fad42949a image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-readyz ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:43:50Z" volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://269a69a20048205c2f87c7a43fc6a19fb199854bc247ee4dfd460bbf2b358b62 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-rev ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:43:51Z" volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://6d52caa6ca3071165a980d0d3715ea1f4a335edb9977e20dd52616ba6ac3305d image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcdctl ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:43:49Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir hostIP: 192.168.34.11 hostIPs: - ip: 192.168.34.11 initContainerStatuses: - containerID: cri-o://211daec19e26fca55ad8690f95b0fed282fad8cd036efbb54c03ad1969a7cfb2 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: setup ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://211daec19e26fca55ad8690f95b0fed282fad8cd036efbb54c03ad1969a7cfb2 exitCode: 0 finishedAt: "2025-10-11T10:43:46Z" reason: Completed startedAt: "2025-10-11T10:43:46Z" volumeMounts: - mountPath: /var/log/etcd name: log-dir - containerID: cri-o://31facdd8fb6e6f6274c00fada32ab1255ea6776f85ffbc3f8065c95c2d2382fb image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-ensure-env-vars ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://31facdd8fb6e6f6274c00fada32ab1255ea6776f85ffbc3f8065c95c2d2382fb exitCode: 0 finishedAt: "2025-10-11T10:43:47Z" reason: Completed startedAt: "2025-10-11T10:43:47Z" - containerID: cri-o://159ca90da6e99bed0d178155a8c50681923c5b6021a8639d479924886947bb47 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-resources-copy ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://159ca90da6e99bed0d178155a8c50681923c5b6021a8639d479924886947bb47 exitCode: 0 finishedAt: "2025-10-11T10:43:48Z" reason: Completed startedAt: "2025-10-11T10:43:48Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin phase: Running podIP: 192.168.34.11 podIPs: - ip: 192.168.34.11 qosClass: Burstable startTime: "2025-10-11T10:29:27Z" - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: etcd kubernetes.io/config.hash: cd7826f9db5842f000a071fd58a1ae79 kubernetes.io/config.mirror: cd7826f9db5842f000a071fd58a1ae79 kubernetes.io/config.seen: "2025-10-11T10:45:32.161332169Z" kubernetes.io/config.source: file target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' creationTimestamp: "2025-10-11T10:46:10Z" labels: app: etcd etcd: "true" k8s-app: etcd revision: "10" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:kubernetes.io/config.hash: {} f:kubernetes.io/config.mirror: {} f:kubernetes.io/config.seen: {} f:kubernetes.io/config.source: {} f:target.workload.openshift.io/management: {} f:labels: .: {} f:app: {} f:etcd: {} f:k8s-app: {} f:revision: {} f:ownerReferences: .: {} k:{"uid":"f1b83c3f-afaa-4166-90d8-83c06dc59b8f"}: {} f:spec: f:containers: k:{"name":"etcd"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":2379,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":2380,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} k:{"containerPort":9978,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:startupProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-metrics"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9979,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-readyz"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9980,"protocol":"TCP"}: .: {} f:containerPort: {} f:hostPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/etcd/"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcd-rev"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd"}: .: {} f:mountPath: {} f:name: {} k:{"name":"etcdctl"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_STATIC_POD_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/etcd/"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostNetwork: {} f:initContainers: .: {} k:{"name":"etcd-ensure-env-vars"}: .: {} f:command: {} f:env: .: {} k:{"name":"ALL_ETCD_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_CIPHER_SUITES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_DATA_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ELECTION_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_ENABLE_PPROF"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_MAX_LEARNERS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_HEARTBEAT_INTERVAL"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_INITIAL_CLUSTER_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_QUOTA_BACKEND_BYTES"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_SOCKET_REUSE_ADDRESS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCD_TLS_MIN_VERSION"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_API"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CACERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_ENDPOINTS"}: .: {} f:name: {} f:value: {} k:{"name":"ETCDCTL_KEY"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_IP"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"NODE_master_0_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_0_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_1_IP"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_ETCD_URL_HOST"}: .: {} f:name: {} f:value: {} k:{"name":"NODE_master_2_IP"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} k:{"name":"etcd-resources-copy"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/static-pod-certs"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/etc/kubernetes/static-pod-resources"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin"}: .: {} f:mountPath: {} f:name: {} k:{"name":"setup"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/log/etcd"}: .: {} f:mountPath: {} f:name: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"cert-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"config-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"data-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"etcd-auto-backup-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"log-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"resource-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"static-pod-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"usr-local-bin"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: kubelet operation: Update time: "2025-10-11T10:46:10Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"192.168.34.12"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:46:30Z" name: etcd-master-2 namespace: openshift-etcd ownerReferences: - apiVersion: v1 controller: true kind: Node name: master-2 uid: f1b83c3f-afaa-4166-90d8-83c06dc59b8f resourceVersion: "24815" uid: d4951150-bcc1-4fe7-88f0-e4e5d5e40b93 spec: containers: - command: - /bin/bash - -c - trap TERM INT; sleep infinity & wait env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcdctl resources: requests: cpu: 10m memory: 60Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail etcdctl member list || true # this has a non-zero return code if the command is non-zero. If you use an export first, it doesn't and you # will succeed when you should fail. ETCD_INITIAL_CLUSTER=$(discover-etcd-initial-cluster \ --cacert=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --cert=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt \ --key=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key \ --endpoints=${ALL_ETCD_ENDPOINTS} \ --data-dir=/var/lib/etcd \ --target-peer-url-host=${NODE_master_2_ETCD_URL_HOST} \ --target-name=master-2) export ETCD_INITIAL_CLUSTER # we cannot use the "normal" port conflict initcontainer because when we upgrade, the existing static pod will never yield, # so we do the detection in etcd container itself. echo -n "Waiting for ports 2379, 2380 and 9978 to be released." time while [ -n "$(ss -Htan '( sport = 2379 or sport = 2380 or sport = 9978 )')" ]; do echo -n "." sleep 1 done export ETCD_NAME=${NODE_master_2_ETCD_NAME} env | grep ETCD | grep -v NODE set -x # See https://etcd.io/docs/v3.4.0/tuning/ for why we use ionice exec nice -n -19 ionice -c2 -n0 etcd \ --logger=zap \ --log-level=info \ --experimental-initial-corrupt-check=true \ --snapshot-count=10000 \ --initial-advertise-peer-urls=https://${NODE_master_2_IP}:2380 \ --cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-2.crt \ --key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-2.key \ --trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --client-cert-auth=true \ --peer-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt \ --peer-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key \ --peer-trusted-ca-file=/etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --peer-client-cert-auth=true \ --advertise-client-urls=https://${NODE_master_2_IP}:2379 \ --listen-client-urls=https://0.0.0.0:2379,unixs://${NODE_master_2_IP}:0 \ --listen-peer-urls=https://0.0.0.0:2380 \ --metrics=extensive \ --listen-metrics-urls=https://0.0.0.0:9978 || mv /etc/kubernetes/etcd-backup-dir/etcd-member.yaml /etc/kubernetes/manifests env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 httpGet: path: healthz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 name: etcd ports: - containerPort: 2379 hostPort: 2379 name: etcd protocol: TCP - containerPort: 2380 hostPort: 2380 name: etcd-peer protocol: TCP - containerPort: 9978 hostPort: 9978 name: etcd-metrics protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: readyz port: 9980 scheme: HTTPS periodSeconds: 5 successThreshold: 1 timeoutSeconds: 30 resources: requests: cpu: 300m memory: 600Mi securityContext: privileged: true startupProbe: failureThreshold: 18 httpGet: path: readyz port: 9980 scheme: HTTPS initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail export ETCD_NAME=${NODE_master_2_ETCD_NAME} exec nice -n -18 etcd grpc-proxy start \ --endpoints https://${NODE_master_2_ETCD_URL_HOST}:9978 \ --metrics-addr https://0.0.0.0:9979 \ --listen-addr 127.0.0.1:9977 \ --advertise-client-url "" \ --key /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key \ --key-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-2.key \ --cert /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt \ --cert-file /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-metrics-master-2.crt \ --cacert /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt \ --trusted-ca-file /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/metrics-ca-bundle.crt \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --tls-min-version $(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: ETCD_STATIC_POD_VERSION value: "10" image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-metrics ports: - containerPort: 9979 hostPort: 9979 name: proxy-metrics protocol: TCP resources: requests: cpu: 40m memory: 200Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail exec nice -n -18 cluster-etcd-operator readyz \ --target=https://localhost:2379 \ --listen-port=9980 \ --serving-cert-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-2.crt \ --serving-key-file=/etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-serving-master-2.key \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) \ --listen-cipher-suites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --listen-tls-min-version=$(ETCD_TLS_MIN_VERSION) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-readyz ports: - containerPort: 9980 hostPort: 9980 name: readyz protocol: TCP resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail cluster-etcd-operator rev \ --endpoints=$(ALL_ETCD_ENDPOINTS) \ --client-cert-file=$(ETCDCTL_CERT) \ --client-key-file=$(ETCDCTL_KEY) \ --client-cacert-file=$(ETCDCTL_CACERT) env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: etcd-rev resources: requests: cpu: 10m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true initContainers: - command: - /bin/sh - -c - | #!/bin/sh echo -n "Fixing etcd log permissions." mkdir -p /var/log/etcd && chmod 0600 /var/log/etcd echo -n "Fixing etcd auto backup permissions." mkdir -p /var/lib/etcd-auto-backup && chmod 0600 /var/lib/etcd-auto-backup image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: setup resources: requests: cpu: 5m memory: 50Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/log/etcd name: log-dir - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail : "${NODE_master_2_ETCD_URL_HOST?not set}" : "${NODE_master_2_ETCD_NAME?not set}" : "${NODE_master_2_IP?not set}" # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_2_IP}" != "${NODE_IP}" && "${NODE_master_2_IP}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected node IP to be ${NODE_IP} got ${NODE_master_2_IP}" >&2 exit 1 fi # check for ipv4 addresses as well as ipv6 addresses with extra square brackets if [[ "${NODE_master_2_ETCD_URL_HOST}" != "${NODE_IP}" && "${NODE_master_2_ETCD_URL_HOST}" != "[${NODE_IP}]" ]]; then # echo the error message to stderr echo "Expected etcd url host to be ${NODE_IP} got ${NODE_master_2_ETCD_URL_HOST}" >&2 exit 1 fi env: - name: ALL_ETCD_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_API value: "3" - name: ETCDCTL_CACERT value: /etc/kubernetes/static-pod-certs/configmaps/etcd-all-bundles/server-ca-bundle.crt - name: ETCDCTL_CERT value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.crt - name: ETCDCTL_ENDPOINTS value: https://192.168.34.10:2379,https://192.168.34.11:2379,https://192.168.34.12:2379 - name: ETCDCTL_KEY value: /etc/kubernetes/static-pod-certs/secrets/etcd-all-certs/etcd-peer-master-2.key - name: ETCD_CIPHER_SUITES value: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - name: ETCD_DATA_DIR value: /var/lib/etcd - name: ETCD_ELECTION_TIMEOUT value: "2500" - name: ETCD_ENABLE_PPROF value: "true" - name: ETCD_EXPERIMENTAL_MAX_LEARNERS value: "3" - name: ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION value: 200ms - name: ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL value: 5s - name: ETCD_HEARTBEAT_INTERVAL value: "500" - name: ETCD_IMAGE value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 - name: ETCD_INITIAL_CLUSTER_STATE value: existing - name: ETCD_QUOTA_BACKEND_BYTES value: "8589934592" - name: ETCD_SOCKET_REUSE_ADDRESS value: "true" - name: ETCD_TLS_MIN_VERSION value: TLS1.2 - name: NODE_master_0_ETCD_NAME value: master-0 - name: NODE_master_0_ETCD_URL_HOST value: 192.168.34.10 - name: NODE_master_0_IP value: 192.168.34.10 - name: NODE_master_1_ETCD_NAME value: master-1 - name: NODE_master_1_ETCD_URL_HOST value: 192.168.34.11 - name: NODE_master_1_IP value: 192.168.34.11 - name: NODE_master_2_ETCD_NAME value: master-2 - name: NODE_master_2_ETCD_URL_HOST value: 192.168.34.12 - name: NODE_master_2_IP value: 192.168.34.12 - name: NODE_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-ensure-env-vars resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError - command: - /bin/sh - -c - | #!/bin/sh set -euo pipefail rm -f $(grep -l '^### Created by cluster-etcd-operator' /usr/local/bin/*) cp -p /etc/kubernetes/static-pod-certs/configmaps/etcd-scripts/*.sh /usr/local/bin image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imagePullPolicy: IfNotPresent name: etcd-resources-copy resources: requests: cpu: 10m memory: 60Mi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin nodeName: master-2 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/manifests type: "" name: static-pod-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-pod-10 type: "" name: resource-dir - hostPath: path: /etc/kubernetes/static-pod-resources/etcd-certs type: "" name: cert-dir - hostPath: path: /var/lib/etcd type: "" name: data-dir - hostPath: path: /usr/local/bin type: "" name: usr-local-bin - hostPath: path: /var/log/etcd type: "" name: log-dir - hostPath: path: /etc/kubernetes type: "" name: config-dir - hostPath: path: /var/lib/etcd-auto-backup type: "" name: etcd-auto-backup-dir status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:10Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:12Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:30Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:30Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:31:45Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://d1a0e578a5f5b18f8830b2435cf57c7cfd2e679c4028a45956e368e4891bfa04 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:46:13Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://d47574c8ea8ad03e448653e7ae94459c94135291b8d46f602eff6c7e32ba5c40 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-metrics ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:46:13Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir - containerID: cri-o://0f53e46f2ca9a8a7f2aece0c78efd9c6ac75b85448fc5deac2bf1f78f0dfd137 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-readyz ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:46:13Z" volumeMounts: - mountPath: /var/log/etcd/ name: log-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://270ff2c4f6bcd14e58618f09b77ff83eebe14d1109545f40f25b1270461f3ef3 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: etcd-rev ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:46:13Z" volumeMounts: - mountPath: /var/lib/etcd name: data-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - containerID: cri-o://8834904950d9fc9a68f93ae37e78f800cc8f9a8eb962a08f0b62f9e4809cf65a image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcdctl ready: true restartCount: 0 started: true state: running: startedAt: "2025-10-11T10:46:13Z" volumeMounts: - mountPath: /etc/kubernetes/manifests name: static-pod-dir - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /var/lib/etcd/ name: data-dir hostIP: 192.168.34.12 hostIPs: - ip: 192.168.34.12 initContainerStatuses: - containerID: cri-o://473347917efdca54c9ba1fc2ce7b95dad4dd94ca6c0f5821dca541936ee87b10 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: setup ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://473347917efdca54c9ba1fc2ce7b95dad4dd94ca6c0f5821dca541936ee87b10 exitCode: 0 finishedAt: "2025-10-11T10:46:10Z" reason: Completed startedAt: "2025-10-11T10:46:10Z" volumeMounts: - mountPath: /var/log/etcd name: log-dir - containerID: cri-o://e75f231137713f045f1201a61014d9ccf9db84df88d66c8356e35c660a504624 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-ensure-env-vars ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://e75f231137713f045f1201a61014d9ccf9db84df88d66c8356e35c660a504624 exitCode: 0 finishedAt: "2025-10-11T10:46:11Z" reason: Completed startedAt: "2025-10-11T10:46:11Z" - containerID: cri-o://07cf5720cb90dab3edd879f83c1da3f7b2c6567ac99e60fef063fc76ab68476f image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:145b8ac6899b60bd933b5fe64e3eb49ddbc7401a13f30fda6fd207697e8c9ab8 lastState: {} name: etcd-resources-copy ready: true restartCount: 0 started: false state: terminated: containerID: cri-o://07cf5720cb90dab3edd879f83c1da3f7b2c6567ac99e60fef063fc76ab68476f exitCode: 0 finishedAt: "2025-10-11T10:46:12Z" reason: Completed startedAt: "2025-10-11T10:46:12Z" volumeMounts: - mountPath: /etc/kubernetes/static-pod-resources name: resource-dir - mountPath: /etc/kubernetes/static-pod-certs name: cert-dir - mountPath: /usr/local/bin name: usr-local-bin phase: Running podIP: 192.168.34.12 podIPs: - ip: 192.168.34.12 qosClass: Burstable startTime: "2025-10-11T10:31:45Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.31/23"],"mac_address":"0a:58:0a:82:00:1f","gateway_ips":["10.130.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"}],"ip_address":"10.130.0.31/23","gateway_ip":"10.130.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.130.0.31" ], "mac": "0a:58:0a:82:00:1f", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:46:43Z" labels: app: installer managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"installer"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"NODE_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"POD_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lock"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"var-lock"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:46:43Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-0 operation: Update subresource: status time: "2025-10-11T10:46:43Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:46:44Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.130.0.31"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:47:17Z" name: installer-10-master-0 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "25267" uid: 527d9cd7-412d-4afb-9212-c8697426a964 spec: automountServiceAccountToken: false containers: - args: - -v=2 - --revision=10 - --namespace=openshift-etcd - --pod=etcd-pod - --resource-dir=/etc/kubernetes/static-pod-resources - --pod-manifest-dir=/etc/kubernetes/manifests - --configmaps=etcd-pod - --configmaps=etcd-endpoints - --configmaps=etcd-all-bundles - --secrets=etcd-all-certs - --cert-dir=/etc/kubernetes/static-pod-resources/etcd-certs - --cert-configmaps=restore-etcd-pod - --cert-configmaps=etcd-scripts - --cert-configmaps=etcd-all-bundles - --cert-secrets=etcd-all-certs command: - cluster-etcd-operator - installer env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: installer resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true - mountPath: /var/lock name: var-lock dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - hostPath: path: /var/lock type: "" name: var-lock - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:47:17Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:43Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:47:16Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:47:16Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:43Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://84981853b8264575ef9774e4c0deccd1808b713d6d64a0dcb63fc54fcf80f561 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: installer ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://84981853b8264575ef9774e4c0deccd1808b713d6d64a0dcb63fc54fcf80f561 exitCode: 0 finishedAt: "2025-10-11T10:47:15Z" reason: Completed startedAt: "2025-10-11T10:46:44Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled - mountPath: /var/lock name: var-lock hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 phase: Succeeded podIP: 10.130.0.31 podIPs: - ip: 10.130.0.31 qosClass: Guaranteed startTime: "2025-10-11T10:46:43Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.129.0.83/23"],"mac_address":"0a:58:0a:81:00:53","gateway_ips":["10.129.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.129.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.129.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.129.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.129.0.1"}],"ip_address":"10.129.0.83/23","gateway_ip":"10.129.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.129.0.83" ], "mac": "0a:58:0a:81:00:53", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:42:12Z" labels: app: installer managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"installer"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"NODE_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"POD_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lock"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"var-lock"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:42:12Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-1 operation: Update subresource: status time: "2025-10-11T10:42:12Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:42:13Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.129.0.83"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:43:07Z" name: installer-10-master-1 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "22674" uid: 8d7775e5-5c08-4eef-84bf-8995a11eb190 spec: automountServiceAccountToken: false containers: - args: - -v=2 - --revision=10 - --namespace=openshift-etcd - --pod=etcd-pod - --resource-dir=/etc/kubernetes/static-pod-resources - --pod-manifest-dir=/etc/kubernetes/manifests - --configmaps=etcd-pod - --configmaps=etcd-endpoints - --configmaps=etcd-all-bundles - --secrets=etcd-all-certs - --cert-dir=/etc/kubernetes/static-pod-resources/etcd-certs - --cert-configmaps=restore-etcd-pod - --cert-configmaps=etcd-scripts - --cert-configmaps=etcd-all-bundles - --cert-secrets=etcd-all-certs command: - cluster-etcd-operator - installer env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: installer resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true - mountPath: /var/lock name: var-lock dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-1 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - hostPath: path: /var/lock type: "" name: var-lock - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:43:07Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:42:12Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:43:05Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:43:05Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:42:12Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://ea6046ea85f7a0fce021fb5f4d0cfe1454a1393bcf7a0d41b1a58c6b303f5dca image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: installer ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://ea6046ea85f7a0fce021fb5f4d0cfe1454a1393bcf7a0d41b1a58c6b303f5dca exitCode: 0 finishedAt: "2025-10-11T10:43:05Z" reason: Completed startedAt: "2025-10-11T10:42:13Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled - mountPath: /var/lock name: var-lock hostIP: 192.168.34.11 hostIPs: - ip: 192.168.34.11 phase: Succeeded podIP: 10.129.0.83 podIPs: - ip: 10.129.0.83 qosClass: Guaranteed startTime: "2025-10-11T10:42:12Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.128.0.90/23"],"mac_address":"0a:58:0a:80:00:5a","gateway_ips":["10.128.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.128.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.128.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.128.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.128.0.1"}],"ip_address":"10.128.0.90/23","gateway_ip":"10.128.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.128.0.90" ], "mac": "0a:58:0a:80:00:5a", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:44:59Z" labels: app: installer managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"installer"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"NODE_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"POD_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lock"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"var-lock"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:44:59Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-2 operation: Update subresource: status time: "2025-10-11T10:44:59Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:45:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.128.0.90"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:45:33Z" name: installer-10-master-2 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "23840" uid: 56e683e1-6c74-4998-ac94-05f58a65965f spec: automountServiceAccountToken: false containers: - args: - -v=2 - --revision=10 - --namespace=openshift-etcd - --pod=etcd-pod - --resource-dir=/etc/kubernetes/static-pod-resources - --pod-manifest-dir=/etc/kubernetes/manifests - --configmaps=etcd-pod - --configmaps=etcd-endpoints - --configmaps=etcd-all-bundles - --secrets=etcd-all-certs - --cert-dir=/etc/kubernetes/static-pod-resources/etcd-certs - --cert-configmaps=restore-etcd-pod - --cert-configmaps=etcd-scripts - --cert-configmaps=etcd-all-bundles - --cert-secrets=etcd-all-certs command: - cluster-etcd-operator - installer env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: installer resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true - mountPath: /var/lock name: var-lock dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-2 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - hostPath: path: /var/lock type: "" name: var-lock - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:45:33Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:59Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:45:32Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:45:32Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:44:59Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://903137cd4045917d2201001cea3f552800cf2d073b4309b1386b4ec5c2d61b48 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: installer ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://903137cd4045917d2201001cea3f552800cf2d073b4309b1386b4ec5c2d61b48 exitCode: 0 finishedAt: "2025-10-11T10:45:32Z" reason: Completed startedAt: "2025-10-11T10:45:01Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled - mountPath: /var/lock name: var-lock hostIP: 192.168.34.12 hostIPs: - ip: 192.168.34.12 phase: Succeeded podIP: 10.128.0.90 podIPs: - ip: 10.128.0.90 qosClass: Guaranteed startTime: "2025-10-11T10:44:59Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.3/23"],"mac_address":"0a:58:0a:82:00:03","gateway_ips":["10.130.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"}],"ip_address":"10.130.0.3/23","gateway_ip":"10.130.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.130.0.3" ], "mac": "0a:58:0a:82:00:03", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:39:44Z" labels: app: installer managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"62c9648e-b3fc-4f81-b4c7-df4c8d8ae36d"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"installer"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"NODE_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"POD_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lock"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"var-lock"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:39:44Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-0 operation: Update subresource: status time: "2025-10-11T10:39:48Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:40:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.130.0.3"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:40:39Z" name: installer-8-master-0 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-8 uid: 62c9648e-b3fc-4f81-b4c7-df4c8d8ae36d resourceVersion: "21179" uid: a3934355-bb61-4316-b164-05294e12906a spec: automountServiceAccountToken: false containers: - args: - -v=2 - --revision=8 - --namespace=openshift-etcd - --pod=etcd-pod - --resource-dir=/etc/kubernetes/static-pod-resources - --pod-manifest-dir=/etc/kubernetes/manifests - --configmaps=etcd-pod - --configmaps=etcd-endpoints - --configmaps=etcd-all-bundles - --secrets=etcd-all-certs - --cert-dir=/etc/kubernetes/static-pod-resources/etcd-certs - --cert-configmaps=restore-etcd-pod - --cert-configmaps=etcd-scripts - --cert-configmaps=etcd-all-bundles - --cert-secrets=etcd-all-certs command: - cluster-etcd-operator - installer env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: installer resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true - mountPath: /var/lock name: var-lock dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - hostPath: path: /var/lock type: "" name: var-lock - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:39Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:39:44Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:38Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:40:38Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:39:44Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://7ad4b389f620d673e1c84d3f718fc34561da93dd445afd695e3bc1db0ae8b3cd image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: installer ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://7ad4b389f620d673e1c84d3f718fc34561da93dd445afd695e3bc1db0ae8b3cd exitCode: 0 finishedAt: "2025-10-11T10:40:37Z" reason: Completed startedAt: "2025-10-11T10:40:06Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled - mountPath: /var/lock name: var-lock hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 phase: Succeeded podIP: 10.130.0.3 podIPs: - ip: 10.130.0.3 qosClass: Guaranteed startTime: "2025-10-11T10:39:44Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.30/23"],"mac_address":"0a:58:0a:82:00:1e","gateway_ips":["10.130.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"}],"ip_address":"10.130.0.30/23","gateway_ip":"10.130.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.130.0.30" ], "mac": "0a:58:0a:82:00:1e", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:46:34Z" labels: app: pruner managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"pruner"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:46:34Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-0 operation: Update subresource: status time: "2025-10-11T10:46:34Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:46:34Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.130.0.30"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:46:38Z" name: revision-pruner-10-master-0 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "24868" uid: e35e5ca9-d4d4-47f2-a2d0-217f9ac77ba3 spec: automountServiceAccountToken: false containers: - args: - -v=4 - --max-eligible-revision=10 - --protected-revisions=4,5,6,7,8,9,10 - --resource-dir=/etc/kubernetes/static-pod-resources - --cert-dir=etcd-certs - --static-pod-name=etcd-pod command: - cluster-etcd-operator - prune image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: pruner resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:38Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:34Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:37Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:37Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:34Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://403e2dc1bf2d947f244343a321e98557f5e484a29eac2d4b8168b223f45ad3d6 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: pruner ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://403e2dc1bf2d947f244343a321e98557f5e484a29eac2d4b8168b223f45ad3d6 exitCode: 0 finishedAt: "2025-10-11T10:46:36Z" reason: Completed startedAt: "2025-10-11T10:46:35Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 phase: Succeeded podIP: 10.130.0.30 podIPs: - ip: 10.130.0.30 qosClass: Guaranteed startTime: "2025-10-11T10:46:34Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.129.0.89/23"],"mac_address":"0a:58:0a:81:00:59","gateway_ips":["10.129.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.129.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.129.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.129.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.129.0.1"}],"ip_address":"10.129.0.89/23","gateway_ip":"10.129.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.129.0.89" ], "mac": "0a:58:0a:81:00:59", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:46:36Z" labels: app: pruner managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"pruner"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:46:36Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-1 operation: Update subresource: status time: "2025-10-11T10:46:36Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:46:37Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.129.0.89"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:46:41Z" name: revision-pruner-10-master-1 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "24924" uid: a47a3143-b015-49c8-a15d-678e348b64e8 spec: automountServiceAccountToken: false containers: - args: - -v=4 - --max-eligible-revision=10 - --protected-revisions=4,5,6,7,8,9,10 - --resource-dir=/etc/kubernetes/static-pod-resources - --cert-dir=etcd-certs - --static-pod-name=etcd-pod command: - cluster-etcd-operator - prune image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: pruner resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-1 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:41Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:36Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:36Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://9f30d0f3808a9d2757a05579682aa059fc93ed81f62653b81a10620484dbf824 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: pruner ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://9f30d0f3808a9d2757a05579682aa059fc93ed81f62653b81a10620484dbf824 exitCode: 0 finishedAt: "2025-10-11T10:46:39Z" reason: Completed startedAt: "2025-10-11T10:46:38Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.11 hostIPs: - ip: 192.168.34.11 phase: Succeeded podIP: 10.129.0.89 podIPs: - ip: 10.129.0.89 qosClass: Guaranteed startTime: "2025-10-11T10:46:36Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.128.0.94/23"],"mac_address":"0a:58:0a:80:00:5e","gateway_ips":["10.128.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.128.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.128.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.128.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.128.0.1"}],"ip_address":"10.128.0.94/23","gateway_ip":"10.128.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.128.0.94" ], "mac": "0a:58:0a:80:00:5e", "default": true, "dns": {} }] creationTimestamp: "2025-10-11T10:46:39Z" labels: app: pruner managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:ownerReferences: .: {} k:{"uid":"454be649-df0f-4169-8ab6-2610cf2907c9"}: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"pruner"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kubernetes/"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:nodeName: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"kube-api-access"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"kubelet-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: cluster-etcd-operator operation: Update time: "2025-10-11T10:46:39Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:k8s.ovn.org/pod-networks: {} manager: master-2 operation: Update subresource: status time: "2025-10-11T10:46:39Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:46:39Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.128.0.94"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:46:42Z" name: revision-pruner-10-master-2 namespace: openshift-etcd ownerReferences: - apiVersion: v1 kind: ConfigMap name: revision-status-10 uid: 454be649-df0f-4169-8ab6-2610cf2907c9 resourceVersion: "24930" uid: c2320cb4-bf2c-4d63-b9c6-5a7461a547e8 spec: automountServiceAccountToken: false containers: - args: - -v=4 - --max-eligible-revision=10 - --protected-revisions=4,5,6,7,8,9,10 - --resource-dir=/etc/kubernetes/static-pod-resources - --cert-dir=etcd-certs - --static-pod-name=etcd-pod command: - cluster-etcd-operator - prune image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imagePullPolicy: IfNotPresent name: pruner resources: limits: cpu: 150m memory: 200M requests: cpu: 150m memory: 200M securityContext: privileged: true runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: installer-sa-dockercfg-xbqxb nodeName: master-2 preemptionPolicy: PreemptLowerPriority priority: 2000001000 priorityClassName: system-node-critical restartPolicy: Never schedulerName: default-scheduler securityContext: runAsUser: 0 serviceAccount: installer-sa serviceAccountName: installer-sa terminationGracePeriodSeconds: 30 tolerations: - operator: Exists volumes: - hostPath: path: /etc/kubernetes/ type: "" name: kubelet-dir - name: kube-api-access projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3600 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:42Z" status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:46:39Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://c49554e1efe6551f4ec98c6ddaa43e072c8f37bf32235007b5d3b96cf0462be4 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0117f94d9f2894980a318780f3c0ab2efba02e72bc7ccb267bd44c4900eb0174 lastState: {} name: pruner ready: false restartCount: 0 started: false state: terminated: containerID: cri-o://c49554e1efe6551f4ec98c6ddaa43e072c8f37bf32235007b5d3b96cf0462be4 exitCode: 0 finishedAt: "2025-10-11T10:46:40Z" reason: Completed startedAt: "2025-10-11T10:46:40Z" volumeMounts: - mountPath: /etc/kubernetes/ name: kubelet-dir - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.12 hostIPs: - ip: 192.168.34.12 phase: Succeeded podIP: 10.128.0.94 podIPs: - ip: 10.128.0.94 qosClass: Guaranteed startTime: "2025-10-11T10:46:39Z" kind: PodList metadata: resourceVersion: "64409"