5.5. BMO를 사용하여 사용자 프로비저닝 클러스터에서 호스트 제거
Bare Metal Operator(BMO)를 사용하여 사용자 프로비저닝 클러스터에서 베어 메탈 호스트를 제거할 수 있습니다.
사전 요구 사항
- 사용자가 프로비저닝한 베어 메탈 클러스터를 생성하셨습니다.
- 호스트에 대한 BMC(Baseboard Management Controller) 액세스 권한이 있습니다.
-
Provisioning
CR을 생성하여 클러스터에 프로비저닝 서비스를 배포했습니다.
프로세스
다음 명령을 실행하여 노드를 차단하고 드레이닝합니다.
$ oc adm drain app1 --force --ignore-daemonsets=true
출력 예
node/app1 cordoned WARNING: ignoring DaemonSet-managed Pods: openshift-cluster-node-tuning-operator/tuned-tvthg, openshift-dns/dns- default-9q6rz, openshift-dns/node-resolver-zvt42, openshift-image-registry/node-ca-mzxth, openshift-ingress-cana ry/ingress-canary-qq5lf, openshift-machine-config-operator/machine-config-daemon-v79dm, openshift-monitoring/nod e-exporter-2vn59, openshift-multus/multus-additional-cni-plugins-wssvj, openshift-multus/multus-fn8tg, openshift -multus/network-metrics-daemon-5qv55, openshift-network-diagnostics/network-check-target-jqxn2, openshift-ovn-ku bernetes/ovnkube-node-rsvqg evicting pod openshift-operator-lifecycle-manager/collect-profiles-27766965-258vp evicting pod openshift-operator-lifecycle-manager/collect-profiles-27766950-kg5mk evicting pod openshift-operator-lifecycle-manager/collect-profiles-27766935-stf4s pod/collect-profiles-27766965-258vp evicted pod/collect-profiles-27766950-kg5mk evicted pod/collect-profiles-27766935-stf4s evicted node/app1 drained
BareMetalHost
CR에서customDeploy
사양을 삭제합니다.다음 명령을 실행하여 호스트의
BareMetalHost
CR을 편집합니다.$ oc edit bmh -n openshift-machine-api <host_name>
spec.customDeploy
및spec.customDeploy.method
행을 삭제합니다.... customDeploy: method: install_coreos
다음 명령을 실행하여 호스트의 프로비저닝 상태가
프로비저닝 해제
로 변경되는지 확인합니다.$ oc get bmh -A
출력 예
NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE openshift-machine-api controller1 externally provisioned true 58m openshift-machine-api worker1 deprovisioning true 57m
BareMetalHost
상태가available
로 변경될 때 다음 명령을 실행하여 호스트를 삭제합니다.$ oc delete bmh -n openshift-machine-api <bmh_name>
참고BareMetalHost
CR을 편집하지 않고도 이 단계를 실행할 수 있습니다.BareMetalHost
상태가프로비저닝 해제
에서available
로 변경되는 데 다소 시간이 걸릴 수 있습니다.다음 명령을 실행하여 노드를 삭제합니다.
$ oc delete node <node_name>
검증
다음 명령을 실행하여 노드를 삭제했는지 확인합니다.
$ oc get nodes
출력 예
NAME STATUS ROLES AGE VERSION controller1 Ready master,worker 2d23h v1.24.0+dc5a2fd