| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 | This enables you to know which procedure to follow to replace the unhealthy etcd member. spec: Otherwise, you must create the new control plane node using the same method that was used to originally create it. openshift-control-plane-2 Ready master 12m v1.24.0+9546431 externallyProvisioned: false Delete and recreate the control plane machine (also known as the master machine). It show you the progress of the lost one master recovery procedures on the bare-metal. Change the metadata.name field to a new name. openshift-compute-1 provisioned examplecluster-compute-1 true 4h48m, NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE You must take an etcd backup before performing this procedure so that your cluster can be restored if you encounter any issues. ip-10-0-154-204.ec2.internal Ready master 6h13m v1.22.1, etcd-ip-10-0-131-183.ec2.internal 2/3 Error 7 6h9m, etcd-ip-10-0-131-183.ec2.internal 3/3 Running 0 123m etcd-serving-metrics-openshift-control-plane-2 kubernetes.io/tls 2 134m baremetal 4.10.x True False False 3d15h, baremetalhost.metal3.io "openshift-control-plane-2" deleted, machine.machine.openshift.io/examplecluster-control-plane-2 edited, NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE openshift-compute-1 Ready worker 176m v1.24.0+9546431. +------------------+---------+------------------------------+---------------------------+---------------------------+ If the control plane certificates are not valid on the member being replaced, then you must follow the procedure to recover from expired control plane certificates instead of this procedure. (@.type=="EtcdMembersAvailable")]}{.message}{"\n"}', 2 of 3 members are available, ip-10-0-131-183.ec2.internal is unhealthy, '{range .items[*]}{@.status.nodeRef.name}{"\t"}{@.status.providerStatus.instanceState}{"\n"}', '{range .items[*]}{"\n"}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{" "}', ip-10-0-131-183.ec2.internal node-role.kubernetes.io/master node.kubernetes.io/unreachable node.kubernetes.io/unreachable, ip-10-0-131-183.ec2.internal NotReady master 122m v1.18.3, NAME STATUS ROLES AGE VERSION | 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380/ | https://192.168.10.10:2379/ | false | +------------------+---------+------------------------------+---------------------------+---------------------------+, '{"spec": {"forceRedeploymentReason": "single-master-recovery-', https://10.0.131.183:2379 is healthy: successfully committed proposal: took = 16.671434ms . | ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 | +------------------+---------+------------------------------+---------------------------+---------------------------+, Member 62bcf33650a7170a removed from cluster ead669ce1fbfb346, +------------------+---------+------------------------------+---------------------------+---------------------------+ If they are not healthy, then no new member can be added. Note You have verified that the etcd pod is crashlooping. The steps to replace an unhealthy etcd member depend on which of the following states your etcd member is in: The machine is not running or the node is not ready. If the machine is running and the node is ready, then check whether the etcd pod is crashlooping. Note: Save a backup only from a single master host. Guide to dealing with membership in etcd cluster. oc -n openshift-etcd get pods, filtered to etcd-pod-* - to determine if there is an unready pod which is a target for adding to the cluster. You must back up etcd data before shutting down a cluster; etcd is the key-value store for OpenShift Container Platform, which persists the state of all resource objects. +------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+, etcd-peer-openshift-control-plane-2 kubernetes.io/tls 2 134m Now, run the backup script. examplecluster-control-plane-0 Running 3h11m openshift-control-plane-0 baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e externally provisioned | ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 | | cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380 | https://192.168.10.9:2379 | false | Perform the following steps to back up etcd data by creating an etcd snapshot and backing up the resources for the static pods. If deletion of the machine is delayed for any reason or the command is obstructed and delayed, you can force deletion by removing the machine object finalizer field. | d022e10b498760d5 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 | clustername-8qw5l-master-0 Running m4.xlarge us-east-1 us-east-1a 3h37m ip-10-0-131-183.ec2.internal aws:///us-east-1a/i-0ec2782f8287dfb7e stopped, -n openshift-machine-api \ etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 123m kind: Secret The protocol to use in bmc:address can be taken from other bmh objects. (@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}', Learn more about OpenShift Container Platform, OpenShift Container Platform 4.9 release notes, Selecting an installation method and preparing a cluster, Mirroring images for a disconnected installation, Installing a cluster on AWS with customizations, Installing a cluster on AWS with network customizations, Installing a cluster on AWS in a restricted network, Installing a cluster on AWS into an existing VPC, Installing a cluster on AWS into a government or secret region, Installing a cluster on AWS into a China region, Installing a cluster on AWS using CloudFormation templates, Installing a cluster on AWS in a restricted network with user-provisioned infrastructure, Installing a cluster on Azure with customizations, Installing a cluster on Azure with network customizations, Installing a cluster on Azure into an existing VNet, Installing a cluster on Azure into a government region, Installing a cluster on Azure using ARM templates, Manually creating IAM for Azure Stack Hub, Installing a cluster on Azure Stack Hub using ARM templates, Installing a cluster on GCP with customizations, Installing a cluster on GCP with network customizations, Installing a cluster on GCP in a restricted network, Installing a cluster on GCP into an existing VPC, Installing a cluster on GCP using Deployment Manager templates, Installing a cluster into a shared VPC on GCP using Deployment Manager templates, Installing a cluster on GCP in a restricted network with user-provisioned infrastructure, Installing a user-provisioned cluster on bare metal, Installing a user-provisioned bare metal cluster with network customizations, Installing a user-provisioned bare metal cluster on a restricted network, Preparing to install OpenShift on a single node, Setting up the environment for an OpenShift installation, Preparing to install with z/VM on IBM Z and LinuxONE, Installing a cluster with z/VM on IBM Z and LinuxONE, Restricted network IBM Z installation with z/VM, Preparing to install with RHEL KVM on IBM Z and LinuxONE, Installing a cluster with RHEL KVM on IBM Z and LinuxONE, Restricted network IBM Z installation with RHEL KVM, Restricted network IBM Power installation, Installing a cluster on OpenStack with customizations, Installing a cluster on OpenStack with Kuryr, Installing a cluster that supports SR-IOV compute machines on OpenStack, Installing a cluster on OpenStack on your own infrastructure, Installing a cluster on OpenStack with Kuryr on your own infrastructure, Installing a cluster on OpenStack on your own SR-IOV infrastructure, Installing a cluster on OpenStack in a restricted network, OpenStack cloud configuration reference guide, Uninstalling a cluster on OpenStack from your own infrastructure, Installing a cluster on RHV with customizations, Installing a cluster on RHV with user-provisioned infrastructure, Installing a cluster on RHV in a restricted network, Installing a cluster on vSphere with customizations, Installing a cluster on vSphere with network customizations, Installing a cluster on vSphere with user-provisioned infrastructure, Installing a cluster on vSphere with user-provisioned infrastructure and network customizations, Installing a cluster on vSphere in a restricted network, Installing a cluster on vSphere in a restricted network with user-provisioned infrastructure, Uninstalling a cluster on vSphere that uses installer-provisioned infrastructure, Using the vSphere Problem Detector Operator, Installing a cluster on VMC with customizations, Installing a cluster on VMC with network customizations, Installing a cluster on VMC in a restricted network, Installing a cluster on VMC with user-provisioned infrastructure, Installing a cluster on VMC with user-provisioned infrastructure and network customizations, Installing a cluster on VMC in a restricted network with user-provisioned infrastructure, Converting a connected cluster to a disconnected cluster, Configuring additional devices in an IBM Z or LinuxONE environment, Preparing to update to OpenShift Container Platform 4.9, Preparing to perform an EUS-to-EUS update, Performing update using canary rollout strategy, Updating a cluster that includes RHEL compute machines, About cluster updates in a disconnected environment, Mirroring the OpenShift Container Platform image repository, Updating a cluster in a disconnected environment using OSUS, Updating a cluster in a disconnected environment without OSUS, Updating hardware on nodes running on vSphere, Showing data collected by remote health monitoring, Using Insights to identify issues with your cluster, Using remote health reporting in a restricted network, Importing simple content access certificates with Insights Operator, Troubleshooting CRI-O container runtime issues, Troubleshooting the Source-to-Image process, Troubleshooting Windows container workload issues, OpenShift CLI developer command reference, OpenShift CLI administrator command reference, Knative CLI (kn) for use with OpenShift Serverless, Hardening Red Hat Enterprise Linux CoreOS, Replacing the default ingress certificate, Securing service traffic using service serving certificates, User-provided certificates for the API server, User-provided certificates for default ingress, Monitoring and cluster logging Operator component certificates, Retrieving Compliance Operator raw results, Performing advanced Compliance Operator tasks, Understanding the Custom Resource Definitions, Understanding the File Integrity Operator, Performing advanced File Integrity Operator tasks, Troubleshooting the File Integrity Operator, Allowing JavaScript-based access to the API server from additional hosts, Authentication and authorization overview, Understanding identity provider configuration, Configuring an htpasswd identity provider, Configuring a basic authentication identity provider, Configuring a request header identity provider, Configuring a GitHub or GitHub Enterprise identity provider, Configuring an OpenID Connect identity provider, Using RBAC to define and apply permissions, Understanding and creating service accounts, Using a service account as an OAuth client, Using manual mode with AWS Security Token Service, Understanding the Cluster Network Operator, Defining a default network policy for projects, Removing a pod from an additional network, About Single Root I/O Virtualization (SR-IOV) hardware networks, Configuring an SR-IOV Ethernet network attachment, Configuring an SR-IOV InfiniBand network attachment, About the OpenShift SDN default CNI network provider, Configuring an egress firewall for a project, Removing an egress firewall from a project, Considerations for the use of an egress router pod, Deploying an egress router pod in redirect mode, Deploying an egress router pod in HTTP proxy mode, Deploying an egress router pod in DNS proxy mode, Configuring an egress router pod destination list from a config map, About the OVN-Kubernetes network provider, Migrating from the OpenShift SDN cluster network provider, Rolling back to the OpenShift SDN cluster network provider, Converting to IPv4/IPv6 dual stack networking, Configuring ingress cluster traffic using an Ingress Controller, Configuring ingress cluster traffic using a load balancer, Configuring ingress cluster traffic on AWS using a Network Load Balancer, Configuring ingress cluster traffic using a service external IP, Configuring ingress cluster traffic using a NodePort, Troubleshooting node network configuration, Associating secondary interfaces metrics to network attachments, Persistent storage using AWS Elastic Block Store, Persistent storage using GCE Persistent Disk, Persistent storage using Red Hat OpenShift Container Storage, AWS Elastic Block Store CSI Driver Operator, AWS Elastic File Service CSI Driver Operator, Red Hat Virtualization CSI Driver Operator, Image Registry Operator in OpenShift Container Platform, Configuring the registry for AWS user-provisioned infrastructure, Configuring the registry for GCP user-provisioned infrastructure, Configuring the registry for OpenStack user-provisioned infrastructure, Configuring the registry for Azure user-provisioned infrastructure, Creating applications from installed Operators, Allowing non-cluster administrators to install Operators, Upgrading projects for newer Operator SDK versions, High-availability or single-node cluster detection and support, Configuring built-in monitoring with Prometheus, Migrating package manifest projects to bundle format, Setting up additional trusted certificate authorities for builds, Creating CI/CD solutions for applications using OpenShift Pipelines, Managing non-versioned and versioned cluster tasks, Using Tekton Hub with OpenShift Pipelines, Working with OpenShift Pipelines using the Developer perspective, Reducing resource consumption of OpenShift Pipelines, Setting compute resource quota for OpenShift Pipelines, Automatic pruning of task run and pipeline run, Using pods in a privileged security context, Authenticating pipelines using git secret, Using Tekton Chains for OpenShift Pipelines supply chain security, Viewing pipeline logs using the OpenShift Logging Operator, Configuring an OpenShift cluster by deploying an application with cluster configurations, Deploying a Spring Boot application with Argo CD, Configuring SSO for Argo CD using Keycloak, Running Control Plane Workloads on Infra nodes, Using the Cluster Samples Operator with an alternate registry, Using image streams with Kubernetes resources, Triggering updates on image stream changes, Creating applications using the Developer perspective, Viewing application composition using the Topology view, Getting started with service binding on IBM Power, IBM Z, and LinuxONE, Binding workloads using Service Binding Operator, Connecting an application to a service using the Developer perspective, Configuring custom Helm chart repositories, Understanding Deployments and DeploymentConfigs, Monitoring project and application metrics using the Developer perspective, Adding compute machines to clusters with user-provisioned infrastructure manually, Adding compute machines to AWS using CloudFormation templates, Adding compute machines to vSphere manually, Automatically scaling pods with the horizontal pod autoscaler, Automatically adjust pod resource levels with the vertical pod autoscaler, Using Device Manager to make devices available to nodes, Including pod priority in pod scheduling decisions, Placing pods on specific nodes using node selectors, Configuring the default scheduler to control pod placement, Scheduling pods using a scheduler profile, Placing pods relative to other pods using pod affinity and anti-affinity rules, Controlling pod placement on nodes using node affinity rules, Controlling pod placement using node taints, Controlling pod placement using pod topology spread constraints, Running background tasks on nodes automatically with daemonsets, Viewing and listing the nodes in your cluster, Managing the maximum number of pods per node, Remediating nodes with the Poison Pill Operator, Deploying node health checks by using the Node Health Check Operator, Freeing node resources using garbage collection, Allocating specific CPUs for nodes in a cluster, Configuring the TLS security profile for the kubelet, Using Init Containers to perform tasks before a pod is deployed, Allowing containers to consume API objects, Using port forwarding to access applications in a container, Viewing system event information in a cluster, Configuring cluster memory to meet container memory and risk requirements, Configuring your cluster to place pods on overcommited nodes, Using remote worker node at the network edge, Red Hat OpenShift support for Windows Containers overview, Red Hat OpenShift support for Windows Containers release notes, Understanding Windows container workloads, Creating a Windows MachineSet object on AWS, Creating a Windows MachineSet object on Azure, Creating a Windows MachineSet object on vSphere, Using Bring-Your-Own-Host Windows instances as nodes, OpenShift sandboxed containers release notes, Understanding OpenShift sandboxed containers, Deploying OpenShift sandboxed containers workloads, Uninstalling OpenShift sandboxed containers workloads, Collecting OpenShift sandboxed containers data for Red Hat Support, About the Cluster Logging custom resource, Configuring CPU and memory limits for Logging components, Using tolerations to control Logging pod placement, Moving the Logging resources with node selectors, Collecting logging data for Red Hat Support, Enabling monitoring for user-defined projects, Recommended host practices for IBM Z & LinuxONE environments, Planning your environment according to object maximums, What huge pages do and how they are consumed by apps, Performance Addon Operator for low latency nodes, Performing latency tests for platform verification, Deploying distributed units manually on single-node OpenShift, Workload partitioning on single-node OpenShift, Deploying distributed units at scale in a disconnected environment, About specialized hardware and driver enablement, Overview of backup and restore operations, Installing and configuring OADP with Azure, Advanced OADP features and functionalities, Recovering from expired control plane certificates, About migrating from OpenShift Container Platform 3 to 4, Differences between OpenShift Container Platform 3 and 4, Installing MTC in a restricted network environment, Editing kubelet log level verbosity and gathering logs, LocalResourceAccessReview [authorization.openshift.io/v1], LocalSubjectAccessReview [authorization.openshift.io/v1], ResourceAccessReview [authorization.openshift.io/v1], SelfSubjectRulesReview [authorization.openshift.io/v1], SubjectAccessReview [authorization.openshift.io/v1], SubjectRulesReview [authorization.openshift.io/v1], LocalSubjectAccessReview [authorization.k8s.io/v1], SelfSubjectAccessReview [authorization.k8s.io/v1], SelfSubjectRulesReview [authorization.k8s.io/v1], SubjectAccessReview [authorization.k8s.io/v1], ClusterAutoscaler [autoscaling.openshift.io/v1], MachineAutoscaler [autoscaling.openshift.io/v1beta1], HelmChartRepository [helm.openshift.io/v1beta1], ConsoleCLIDownload [console.openshift.io/v1], ConsoleExternalLogLink [console.openshift.io/v1], ConsoleNotification [console.openshift.io/v1], ConsolePlugin [console.openshift.io/v1alpha1], ConsoleQuickStart [console.openshift.io/v1], ConsoleYAMLSample [console.openshift.io/v1], CustomResourceDefinition [apiextensions.k8s.io/v1], MutatingWebhookConfiguration [admissionregistration.k8s.io/v1], ValidatingWebhookConfiguration [admissionregistration.k8s.io/v1], ImageStreamImport [image.openshift.io/v1], ImageStreamMapping [image.openshift.io/v1], ContainerRuntimeConfig [machineconfiguration.openshift.io/v1], ControllerConfig [machineconfiguration.openshift.io/v1], KubeletConfig [machineconfiguration.openshift.io/v1], MachineConfigPool [machineconfiguration.openshift.io/v1], MachineConfig [machineconfiguration.openshift.io/v1], MachineHealthCheck [machine.openshift.io/v1beta1], MachineSet [machine.openshift.io/v1beta1], APIRequestCount [apiserver.openshift.io/v1], AlertmanagerConfig [monitoring.coreos.com/v1alpha1], PrometheusRule [monitoring.coreos.com/v1], ServiceMonitor [monitoring.coreos.com/v1], EgressNetworkPolicy [network.openshift.io/v1], EgressRouter [network.operator.openshift.io/v1], IPPool [whereabouts.cni.cncf.io/v1alpha1], NetworkAttachmentDefinition [k8s.cni.cncf.io/v1], PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1], OAuthAuthorizeToken [oauth.openshift.io/v1], OAuthClientAuthorization [oauth.openshift.io/v1], UserOAuthAccessToken [oauth.openshift.io/v1], Authentication [operator.openshift.io/v1], CloudCredential [operator.openshift.io/v1], ClusterCSIDriver [operator.openshift.io/v1], Config [imageregistry.operator.openshift.io/v1], Config [samples.operator.openshift.io/v1], CSISnapshotController [operator.openshift.io/v1], DNSRecord [ingress.operator.openshift.io/v1], ImageContentSourcePolicy [operator.openshift.io/v1alpha1], ImagePruner [imageregistry.operator.openshift.io/v1], IngressController [operator.openshift.io/v1], KubeControllerManager [operator.openshift.io/v1], KubeStorageVersionMigrator [operator.openshift.io/v1], OpenShiftAPIServer [operator.openshift.io/v1], OpenShiftControllerManager [operator.openshift.io/v1], OperatorPKI [network.operator.openshift.io/v1], CatalogSource [operators.coreos.com/v1alpha1], ClusterServiceVersion [operators.coreos.com/v1alpha1], InstallPlan [operators.coreos.com/v1alpha1], OperatorCondition [operators.coreos.com/v2], PackageManifest [packages.operators.coreos.com/v1], Subscription [operators.coreos.com/v1alpha1], ClusterRoleBinding [rbac.authorization.k8s.io/v1], ClusterRole [rbac.authorization.k8s.io/v1], RoleBinding [rbac.authorization.k8s.io/v1], ClusterRoleBinding [authorization.openshift.io/v1], ClusterRole [authorization.openshift.io/v1], RoleBindingRestriction [authorization.openshift.io/v1], RoleBinding [authorization.openshift.io/v1], AppliedClusterResourceQuota [quota.openshift.io/v1], ClusterResourceQuota [quota.openshift.io/v1], FlowSchema [flowcontrol.apiserver.k8s.io/v1beta1], PriorityLevelConfiguration [flowcontrol.apiserver.k8s.io/v1beta1], CertificateSigningRequest [certificates.k8s.io/v1], CredentialsRequest [cloudcredential.openshift.io/v1], PodSecurityPolicyReview [security.openshift.io/v1], PodSecurityPolicySelfSubjectReview [security.openshift.io/v1], PodSecurityPolicySubjectReview [security.openshift.io/v1], RangeAllocation [security.openshift.io/v1], SecurityContextConstraints [security.openshift.io/v1], CSIStorageCapacity [storage.k8s.io/v1beta1], StorageVersionMigration [migration.k8s.io/v1alpha1], VolumeSnapshot [snapshot.storage.k8s.io/v1], VolumeSnapshotClass [snapshot.storage.k8s.io/v1], VolumeSnapshotContent [snapshot.storage.k8s.io/v1], BrokerTemplateInstance [template.openshift.io/v1], TemplateInstance [template.openshift.io/v1], UserIdentityMapping [user.openshift.io/v1], Configuring the distributed tracing platform, Configuring distributed tracing data collection, Preparing your cluster for OpenShift Virtualization, Specifying nodes for OpenShift Virtualization components, Installing OpenShift Virtualization using the web console, Installing OpenShift Virtualization using the CLI, Uninstalling OpenShift Virtualization using the web console, Uninstalling OpenShift Virtualization using the CLI, Additional security privileges granted for kubevirt-controller and virt-launcher, Triggering virtual machine failover by resolving a failed node, Installing the QEMU guest agent on virtual machines, Viewing the QEMU guest agent information for virtual machines, Managing config maps, secrets, and service accounts in virtual machines, Installing VirtIO driver on an existing Windows virtual machine, Installing VirtIO driver on a new Windows virtual machine, Working with resource quotas for virtual machines, Configuring PXE booting for virtual machines, Enabling dedicated resources for a virtual machine, Importing virtual machine images with data volumes, Importing virtual machine images into block storage with data volumes, Enabling user permissions to clone data volumes across namespaces, Cloning a virtual machine disk into a new data volume, Cloning a virtual machine by using a data volume template, Cloning a virtual machine disk into a new block storage data volume, Configuring a virtual machine for the default pod network, Creating a service to expose a virtual machine, Connecting a virtual machine to a Linux bridge network, Connecting a virtual machine to an SR-IOV network, Configuring IP addresses for virtual machines, Viewing the IP address of NICs on a virtual machine, Using a MAC address pool for virtual machines, Configuring local storage for virtual machines, Configuring CDI to work with namespaces that have a compute resource quota, Uploading local disk images by using the web console, Uploading local disk images by using the virtctl tool, Uploading a local disk image to a block storage data volume, Moving a local virtual machine disk to a different node, Expanding virtual storage by adding blank disk images, Cloning a data volume using smart-cloning, Using container disks with virtual machines, Re-using statically provisioned persistent volumes, Enabling dedicated resources for a virtual machine template, Migrating a virtual machine instance to another node, Monitoring live migration of a virtual machine instance, Cancelling the live migration of a virtual machine instance, Configuring virtual machine eviction strategy, Managing node labeling for obsolete CPU models, Diagnosing data volumes using events and conditions, Viewing information about virtual machine workloads, Reviewing resource usage by virtual machines, OpenShift cluster monitoring, logging, and Telemetry, Preparing to install OpenShift Serverless, Overriding system deployment configurations, Reroute traffic using blue-green strategy, Configuring JSON Web Token authentication for Knative services, Using JSON Web Token authentication with Service Mesh 2.x, Using JSON Web Token authentication with Service Mesh 1.x, Domain mapping using the Developer perspective, Domain mapping using the Administrator perspective, Securing a mapped service using a TLS certificate, High availability for Knative services overview, Event source in the Administrator perspective, Connecting an event source to a sink using the Developer perspective, Configuring the default broker backing channel, Security configuration for Knative Kafka channels, Listing event sources and event source types, Listing event source types from the command line, Listing event source types from the Developer perspective, Listing event sources from the command line, Setting up OpenShift Serverless Functions, On-cluster function building and deploying, Function project configuration in func.yaml, Accessing secrets and config maps from functions, Configuration for scraping custom metrics, Finding logs for Knative Serving components, Finding logs for Knative Serving services, Using Red Hat OpenShift distributed tracing, Integrating Service Mesh with OpenShift Serverless, Integrating Serverless with the cost management service, Using NVIDIA GPU resources with serverless applications, Determining the state of the unhealthy etcd member, Replacing an unhealthy bare metal etcd member whose machine is not running or whose node is not ready, recover from expired control plane certificates, This output lists the node and the status of the nodes machine. This document describes the process to replace a single unhealthy etcd member.