복구 또는 교체를 위해 손상된 노드를 삭제하려면 클러스터에서 강제로 삭제해야 할 수 있습니다. 강제 삭제는 클러스터 관리 관점에서 손상된 노드만 삭제합니다. 강제 삭제는 노드 자체에 설치된 구성요소의 삭제 작업을 무시합니다. 노드를 복구할 때 bmctl reset nodes
를 실행하여 재사용할 수 있도록 노드에 설치된 구성요소를 삭제합니다.
노드 강제 삭제
다음 방법은 제어 영역 노드와 워커 노드 모두에 적용됩니다. 제어 영역 노드의 경우 Anthos clusters on bare metal의 컨트롤러도 etcd
멤버십의 부기 작업을 처리합니다.
bmctl
사용
bmctl
을 사용하여 클러스터에서 노드를 삭제할 수 있습니다. 일반적으로 bmctl reset
은 재설정 작업을 트리거하여 노드에 설치된 구성요소를 삭제합니다. 설치된 패키지를 삭제하지 못하도록 차단하지 않고 클러스터에서 노드를 삭제하려면 --force
플래그와 함께 bmctl
명령어를 실행하면 됩니다.
bmctl reset nodes --addresses NODE_IP --force --kubeconfig ADMIN_KUBECONFIG --cluster CLUSTER_NAME
다음을 바꿉니다.
NODE_IP
: 재설정할 노드의 IP 주소(예:10.200.0.8
)ADMIN_KUBECONFIG
: 관리자 클러스터 kubeconfig 파일의 경로CLUSTER_NAME
: 노드가 포함된 대상 클러스터의 이름
kubectl
사용
Anthos clusters on bare metal에서는 주석을 추가하여 강제 삭제할 노드를 표시할 수 있습니다.
상위 노드 풀에서 노드를 삭제한 후 다음 명령어를 실행하여 해당 오류가 발생한 머신에 baremetal.cluster.gke.io/force-remove
주석을 추가합니다. 주석 자체의 값은 중요하지 않습니다.
kubectl --kubeconfig ADMIN_KUBECONFIG -n CLUSTER_NAMESPACE \ annotate machine 10.200.0.8 baremetal.cluster.gke.io/force-remove=true
Anthos clusters on bare metal이 노드를 성공적으로 삭제합니다.