13.4. 데이터 플레인을 0으로 축소
호스팅된 컨트롤 플레인을 사용하지 않는 경우 리소스 및 비용을 절약하기 위해 데이터 플레인을 0으로 축소할 수 있습니다.
데이터 플레인을 0으로 축소할 준비가 되었는지 확인합니다. 작업자 노드의 워크로드는 축소 후 사라집니다.
프로세스
다음 명령을 실행하여 호스팅 클러스터에 액세스하도록
kubeconfig
파일을 설정합니다.$ export KUBECONFIG=<install_directory>/auth/kubeconfig
다음 명령을 실행하여 호스팅된 클러스터에 연결된
NodePool
리소스의 이름을 가져옵니다.$ oc get nodepool --namespace <HOSTED_CLUSTER_NAMESPACE>
선택 사항: Pod가 드레이닝되지 않도록 다음 명령을 실행하여
NodePool
리소스에nodeDrainTimeout
필드를 추가합니다.$ oc edit NodePool <nodepool> -o yaml --namespace <HOSTED_CLUSTER_NAMESPACE>
출력 예
apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: # ... name: nodepool-1 namespace: clusters # ... spec: arch: amd64 clusterName: clustername 1 management: autoRepair: false replace: rollingUpdate: maxSurge: 1 maxUnavailable: 0 strategy: RollingUpdate upgradeType: Replace nodeDrainTimeout: 0s 2 # ...
참고노드 드레이닝 프로세스가 일정 기간 동안 계속될 수 있도록
nodeDrainTimeout
필드의 값을 적절하게 설정할 수 있습니다(예:nodeDrainTimeout: 1m
).다음 명령을 실행하여 호스팅된 클러스터에 연결된
NodePool
리소스를 축소합니다.$ oc scale nodepool/<NODEPOOL_NAME> --namespace <HOSTED_CLUSTER_NAMESPACE> --replicas=0
참고데이터 계획을 0으로 축소한 후 컨트롤 플레인의 일부 Pod는
Pending
상태를 유지하고 호스팅된 컨트롤 플레인은 계속 실행 중입니다. 필요한 경우NodePool
리소스를 확장할 수 있습니다.선택 사항: 다음 명령을 실행하여 호스팅된 클러스터에 연결된
NodePool
리소스를 확장합니다.$ oc scale nodepool/<NODEPOOL_NAME> --namespace <HOSTED_CLUSTER_NAMESPACE> --replicas=1
NodePool
리소스를 다시 확장한 후NodePool
리소스가Ready
상태에서 사용 가능하게 될 때까지 몇 분 정도 기다립니다.
검증
다음 명령을 실행하여
nodeDrainTimeout
필드의 값이0s
보다 큰지 확인합니다.$ oc get nodepool -n <hosted_cluster_namespace> <nodepool_name> -ojsonpath='{.spec.nodeDrainTimeout}'
추가 리소스