6.6.3. 비정상적인 etcd 멤버의 머신 삭제
비정상 etcd 멤버의 시스템을 삭제하여 실패한 컨트롤 플레인 노드 제거를 완료합니다.
프로세스
다음 명령을 실행하여 Bare Metal Operator를 사용할 수 있는지 확인합니다.
$ oc get clusteroperator baremetal출력 예
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE baremetal 4.22.0 True False False 3d15h다음 명령을 실행하여 영향을 받는 노드의
BareMetalHost오브젝트를 나중에 사용할 수 있도록 파일에 저장합니다.$ oc get -n openshift-machine-api bmh <node_name> -o yaml > bmh_affected.yaml&
lt;node_name>을 영향을 받는 노드의 이름으로 교체합니다. 이 이름은 일반적으로 관련BareMetalHost이름과 일치합니다.다음 명령을 실행하여 저장된
BareMetalHost오브젝트의 YAML 파일을 보고 내용이 올바른지 확인합니다.$ cat bmh_affected.yaml다음 명령을 실행하여 영향을 받는
BareMetalHost오브젝트를 제거합니다.$ oc delete -n openshift-machine-api bmh <node_name>&
lt;node_name>을 영향을 받는 노드의 이름으로 바꿉니다.다음 명령을 실행하여 모든 머신을 나열하고 영향을 받는 노드와 연결된 머신을 식별합니다.
$ oc get machines -n openshift-machine-api -o wide출력 예
NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE 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 examplecluster-control-plane-1 Running 3h11m openshift-control-plane-1 baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1 externally provisioned examplecluster-control-plane-2 Running 3h11m openshift-control-plane-2 baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135 externally provisioned examplecluster-compute-0 Running 165m openshift-compute-0 baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f provisioned examplecluster-compute-1 Running 165m openshift-compute-1 baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9 provisioned다음 명령을 실행하여 비정상 멤버의 시스템을 삭제합니다.
$ oc delete machine -n openshift-machine-api <machine_name>&
lt;machine_name>을 영향을 받는 노드와 연결된 머신 이름으로 바꿉니다.명령 예
$ oc delete machine -n openshift-machine-api examplecluster-control-plane-2참고BareMetalHost및Machine오브젝트를 제거하면 머신 컨트롤러에서Node오브젝트를 자동으로 삭제합니다.어떠한 이유로든 머신 삭제가 지연되거나 명령이 차단되고 지연되는 경우 머신 오브젝트 종료자 필드를 제거하여 강제로 삭제합니다.
주의Ctrl+c를 눌러 시스템 삭제를 중단하지 마십시오. 명령이 완료될 수 있도록 허용해야 합니다. 새 터미널 창을 열어 종료자 필드를 편집하고 삭제합니다.새 터미널 창에서 다음 명령을 실행하여 머신 구성을 편집합니다.
$ oc edit machine -n openshift-machine-api examplecluster-control-plane-2Machine사용자 정의 리소스에서 다음 필드를 삭제한 다음 업데이트된 파일을 저장합니다.finalizers: - machine.machine.openshift.io출력 예
machine.machine.openshift.io/examplecluster-control-plane-2 edited