Anthos clusters on bare metal의 손상된 노드 강제 삭제

복구 또는 교체를 위해 손상된 노드를 삭제하려면 클러스터에서 강제로 삭제해야 할 수 있습니다. 강제 삭제는 클러스터 관리 관점에서 손상된 노드만 삭제합니다. 강제 삭제는 노드 자체에 설치된 구성요소의 삭제 작업을 무시합니다. 노드를 복구할 때 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이 노드를 성공적으로 삭제합니다.