베어메탈용 Anthos 클러스터에서는 노드 풀 커스텀 리소스를 만들거나 삭제하여 클러스터에 노드 풀을 추가하거나 삭제할 수 있습니다. kubectl
을 사용하여 노드 풀을 변경합니다.
기존 클러스터의 워커 노드 풀만 추가하거나 삭제할 수 있습니다. 클러스터 생성 중에 추가된 제어 영역과 부하 분산기 노드 풀은 클러스터의 기능에 중요하며 삭제될 수 없습니다.
기존 워커 노드 풀에서 노드를 추가하거나 제거하려면 클러스터에서 노드 추가 또는 제거를 참조하세요.
노드 상태 확인
노드 풀을 추가하거나 삭제하기 전에 kubectl get
을 사용하여 노드와 각 노드 풀의 상태를 확인하세요. 샘플 명령어 및 응답을 포함한 자세한 내용은 노드 상태 보기를 참조하세요.
새 노드 풀 추가
관리자 클러스터에서 새 nodepools.baremetal.cluster.gke.io
리소스를 만들어 새 노드 풀을 추가할 수 있습니다. 그런 다음 노드의 IP 주소를 사용하여 노드 풀에 추가합니다. 예를 들어 다음 구성을 지정하여 노드 IP 주소 10.200.0.7
및 10.200.0.8
을 사용하여 이름이 'nodepool-new'인 새 노드 풀을 추가합니다.
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: node-pool-new
namespace: cluster-my-cluster
spec:
clusterName: my-cluster
nodes:
- address: 10.200.0.7
- address: 10.200.0.8
taints:
- key: <key1>
value: <value1>
effect: NoSchedule
labels:
key1: <value1>
key2: <value2>
NodePool.spec.taints
및 NodePool.spec.labels
구성이 노드에 맞게 조정됩니다. 직접 추가된 모든 taint와 라벨은 삭제됩니다. 제어 영역은 동기화 프로세스 중에 직접 추가한 taint 및 라벨을 삭제하지 않습니다.
이 조정 단계를 무시하려면 baremetal.cluster.gke.io/label-taint-no-sync
를 사용해 노드에 주석을 추가하면 됩니다.
노드 풀 리소스는 연결된 클러스터와 동일한 네임스페이스에서 생성되어야 하며 spec.clusterName
필드에서 클러스터 이름을 참조해야 합니다.
구성을 node-pool-new.yaml
파일에 저장합니다. 다음 명령어로 관리 클러스터에 구성을 적용합니다. 필요한 경우 --kubeconfig
플래그를 사용하여 관리자 클러스터 구성을 명시적으로 지정합니다.
kubectl apply -f node-pool-new.yaml
노드 풀 삭제
kubectl delete
을 사용하여 노드 풀을 삭제합니다. 예를 들어 이전 섹션 node-pool-new
에서 추가된 노드 풀을 삭제하려면 다음 명령어를 사용합니다.
kubectl -n cluster-my-cluster delete nodepool node-pool-new
클러스터에서 워커 노드 풀을 삭제하면 Pod 중단이 발생할 수 있습니다. PodDisruptionBudget(PDB)이 있는 경우 노드 풀 제거가 차단될 수 있습니다. 포드 중단 정책에 대한 자세한 내용은 포드 중단 예산에 의해 차단된 노드 삭제를 참조하세요.
다음 단계
노드 풀을 만든 후 워크로드 요구사항이 변경되면 워커 노드 풀을 업데이트하여 노드를 추가하거나 삭제할 수 있습니다. 워커 노드 풀에서 노드를 추가하거나 삭제하려면 클러스터에서 노드 추가 또는 삭제를 참조하세요.