8.3. SiteConfig CR을 사용하여 노드 삭제
SiteConfig
사용자 정의 리소스(CR)를 사용하면 노드를 삭제하고 다시 프로비저닝할 수 있습니다. 이 방법은 노드를 수동으로 삭제하는 것보다 효율적입니다.
사전 요구 사항
- 필요한 설치 및 정책 CR을 생성하도록 허브 클러스터를 구성했습니다.
- 사용자 정의 사이트 구성 데이터를 관리할 수 있는 Git 저장소를 만들었습니다. 저장소는 허브 클러스터에서 접근할 수 있어야 하며 Argo CD 애플리케이션의 소스 저장소로 정의되어야 합니다.
프로세스
SiteConfig
CR을 업데이트하여bmac.agent-install.openshift.io/remove-agent-and-node-on-delete=true
주석을 포함하고 변경 사항을 Git 저장소에 푸시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
BareMetalHost
개체에 주석이 달려 있는지 확인하세요.oc get bmh -n <managed-cluster-namespace> <bmh-object> -ojsonpath='{.metadata}' | jq -r '.annotations["bmac.agent-install.openshift.io/remove-agent-and-node-on-delete"]'
oc get bmh -n <managed-cluster-namespace> <bmh-object> -ojsonpath='{.metadata}' | jq -r '.annotations["bmac.agent-install.openshift.io/remove-agent-and-node-on-delete"]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
true
true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SiteConfig
CR을 업데이트하여crSuppression.BareMetalHost
주석을 포함시켜BareMetalHost
CR 생성을 억제합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
변경 사항을 Git 저장소에 푸시하고 프로비저닝 해제가 시작될 때까지 기다립니다.
BareMetalHost
CR의 상태가deprovisioning
으로 변경되어야 합니다.BareMetalHost
의 프로비저닝 해제가 완료되고 완전히 삭제될 때까지 기다리세요.
검증
다음 명령을 실행하여 작업자 노드의
BareMetalHost
및Agent
CR이 허브 클러스터에서 삭제되었는지 확인합니다.oc get bmh -n <cluster-ns>
$ oc get bmh -n <cluster-ns>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get agent -n <cluster-ns>
$ oc get agent -n <cluster-ns>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 스포크 클러스터에서 노드 레코드가 삭제되었는지 확인하세요.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고비밀을 다루는 경우 비밀을 너무 일찍 삭제하면 문제가 발생할 수 있습니다. 삭제 후 ArgoCD가 재동기화를 완료하려면 비밀이 필요하기 때문입니다. 현재 ArgoCD 동기화가 완료되고 노드 정리가 완료된 후에만 비밀을 삭제하세요.
다음 단계
노드를 다시 프로비저닝하려면 이전에 SiteConfig
에 추가한 변경 사항을 삭제하고, 변경 사항을 Git 저장소에 푸시한 다음 동기화가 완료될 때까지 기다립니다. 이렇게 하면 작업자 노드의 BareMetalHost
CR이 재생성되고 노드가 다시 설치됩니다.