2.8. SiteConfig Operator를 사용하여 단일 노드 OpenShift 클러스터로 스케일링
SiteConfig Operator가 설치한 관리형 클러스터의 규모를 조정합니다. 작업자 노드를 제거하여 클러스터에서 확장할 수 있습니다.
필수 액세스: 클러스터 관리자
2.8.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- GitOps ZTP를 사용하는 경우 GitOps ZTP 환경을 구성했습니다. 환경을 구성하려면 GitOps ZTP용 허브 클러스터 준비를 참조하십시오.
- 기본 템플릿이 있습니다. 기본 템플릿에 대한 자세한 내용은 기본 템플릿 세트를참조하십시오.
- SiteConfig Operator를 사용하여 클러스터를 설치했습니다. SiteConfig Operator를 사용하여 클러스터를 설치하려면 siteConfig Operator를 사용하여 단일 노드 OpenShift 클러스터 설치를 참조하십시오.
2.8.2. 작업자 노드에 주석 추가 링크 복사링크가 클립보드에 복사되었습니다!
제거를 위해 작업자 노드에 주석을 추가합니다.
관리 클러스터에서 작업자 노드에 주석을 달려면 다음 단계를 완료합니다.
클러스터를 프로비저닝하는 데 사용되는
ClusterInstance사용자 정의 리소스에 있는 작업자 노드 항목의추가주석 필드에 주석을 추가합니다.spec: ... nodes: - hostName: "worker-node2.example.com" role: "worker" ironicInspect: "" extraAnnotations: BareMetalHost: bmac.agent-install.openshift.io/remove-agent-and-node-on-delete: "true" ...변경 사항을 적용합니다. 다음 옵션을 참조하십시오.
- Red Hat OpenShift GitOps 없이 Red Hat Advanced Cluster Management를 사용하는 경우 hub 클러스터에서 다음 명령을 실행합니다.
oc apply -f <clusterinstance>.yaml- GitOps ZTP를 사용하는 경우 Git 리포지토리로 푸시하고 Argo CD가 변경 사항을 동기화할 때까지 기다립니다.
hub 클러스터에서 다음 명령을 실행하여 주석이
BaremetalHost작업자 리소스에 적용되었는지 확인합니다.oc get bmh -n <clusterinstance_namespace> worker-node2.example.com -ojsonpath='{.metadata.annotations}' | jq주석 적용에 성공하려면 다음 예제 출력을 참조하십시오.
{
"baremetalhost.metal3.io/detached": "assisted-service-controller",
"bmac.agent-install.openshift.io/hostname": "worker-node2.example.com",
"bmac.agent-install.openshift.io/remove-agent-and-node-on-delete": "true"
"bmac.agent-install.openshift.io/role": "master",
"inspect.metal3.io": "disabled",
"siteconfig.open-cluster-management.io/sync-wave": "1",
}
2.8.3. 작업자 노드의 BareMetalHost 리소스 삭제 링크 복사링크가 클립보드에 복사되었습니다!
제거하려는 작업자 노드의 BareMetalHost 리소스를 삭제합니다.
관리 클러스터에서 작업자 노드를 제거하려면 다음 단계를 완료합니다.
다음 구성으로 기존
ClusterInstance사용자 정의 리소스에서 삭제할 노드 오브젝트를 업데이트합니다.... spec: ... nodes: - hostName: "worker-node2.example.com" ... pruneManifests: - apiVersion: metal3.io/v1alpha1 kind: BareMetalHost ...변경 사항을 적용합니다. 다음 옵션을 참조하십시오.
- Red Hat OpenShift GitOps 없이 Red Hat Advanced Cluster Management를 사용하는 경우 hub 클러스터에서 다음 명령을 실행합니다.
oc apply -f <clusterinstance>.yaml- GitOps ZTP를 사용하는 경우 Git 리포지토리로 푸시하고 Argo CD가 변경 사항을 동기화할 때까지 기다립니다.
hub 클러스터에서 다음 명령을 실행하여
BareMetalHost리소스가 제거되었는지 확인합니다.oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>다음 예제 출력을 참조하십시오.
NAME STATE CONSUMER ONLINE ERROR AGE master-node1.example.com provisioned true 81m worker-node2.example.com deprovisioning true 44m worker-node2.example.com powering off before delete true 20h worker-node2.example.com deleting true 50mhub 클러스터에서 다음 명령을 실행하여
에이전트리소스가 제거되었는지 확인합니다.oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>다음 예제 출력을 참조하십시오.
NAME CLUSTER APPROVED ROLE STAGE master-node1.example.com <managed_cluster_name> true master Done master-node2.example.com <managed_cluster_name> true master Done master-node3.example.com <managed_cluster_name> true master Done worker-node1.example.com <managed_cluster_name> true worker Done관리 클러스터에서 다음 명령을 실행하여
노드리소스가 제거되었는지 확인합니다.oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>다음 예제 출력을 참조하십시오.
NAME STATUS ROLES AGE VERSION worker-node2.example.com NotReady,SchedulingDisabled worker 19h v1.30.5 worker-node1.example.com Ready worker 19h v1.30.5 master-node1.example.com Ready control-plane,master 19h v1.30.5 master-node2.example.com Ready control-plane,master 19h v1.30.5 master-node3.example.com Ready control-plane,master 19h v1.30.5