8.3. SiteConfig CR을 사용하여 노드 삭제
SiteConfig 사용자 정의 리소스(CR)를 사용하면 노드를 삭제하고 다시 프로비저닝할 수 있습니다. 이 방법은 노드를 수동으로 삭제하는 것보다 효율적입니다.
사전 요구 사항
- 필요한 설치 및 정책 CR을 생성하도록 허브 클러스터를 구성했습니다.
- 사용자 정의 사이트 구성 데이터를 관리할 수 있는 Git 저장소를 만들었습니다. 저장소는 허브 클러스터에서 접근할 수 있어야 하며 Argo CD 애플리케이션의 소스 저장소로 정의되어야 합니다.
프로세스
SiteConfigCR을 업데이트하여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
trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow SiteConfigCR을 업데이트하여crSuppression.BareMetalHost주석을 포함시켜BareMetalHostCR 생성을 억제합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
변경 사항을 Git 저장소에 푸시하고 프로비저닝 해제가 시작될 때까지 기다립니다.
BareMetalHostCR의 상태가deprovisioning으로 변경되어야 합니다.BareMetalHost의 프로비저닝 해제가 완료되고 완전히 삭제될 때까지 기다리세요.
검증
다음 명령을 실행하여 작업자 노드의
BareMetalHost및AgentCR이 허브 클러스터에서 삭제되었는지 확인합니다.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 nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고비밀을 다루는 경우 비밀을 너무 일찍 삭제하면 문제가 발생할 수 있습니다. 삭제 후 ArgoCD가 재동기화를 완료하려면 비밀이 필요하기 때문입니다. 현재 ArgoCD 동기화가 완료되고 노드 정리가 완료된 후에만 비밀을 삭제하세요.
다음 단계
노드를 다시 프로비저닝하려면 이전에 SiteConfig 에 추가한 변경 사항을 삭제하고, 변경 사항을 Git 저장소에 푸시한 다음 동기화가 완료될 때까지 기다립니다. 이렇게 하면 작업자 노드의 BareMetalHost CR이 재생성되고 노드가 다시 설치됩니다.