클러스터에서 노드 풀 추가 또는 삭제

베어메탈용 Anthos 클러스터에서는 노드 풀 커스텀 리소스를 만들거나 삭제하여 클러스터에 노드 풀을 추가하거나 삭제할 수 있습니다. kubectl을 사용하여 노드 풀을 변경합니다.

기존 클러스터의 워커 노드 풀만 추가하거나 삭제할 수 있습니다. 클러스터 생성 중에 추가된 제어 영역과 부하 분산기 노드 풀은 클러스터의 기능에 중요하며 삭제될 수 없습니다.

기존 워커 노드 풀에서 노드를 추가하거나 제거하려면 클러스터에서 노드 추가 또는 제거를 참조하세요.

노드 상태 확인

노드 풀을 추가하거나 삭제하기 전에 kubectl get을 사용하여 노드와 각 노드 풀의 상태를 확인하세요. 샘플 명령어 및 응답을 포함한 자세한 내용은 노드 상태 보기를 참조하세요.

새 노드 풀 추가

관리자 클러스터에서 새 nodepools.baremetal.cluster.gke.io 리소스를 만들어 새 노드 풀을 추가할 수 있습니다. 그런 다음 노드의 IP 주소를 사용하여 노드 풀에 추가합니다. 예를 들어 다음 구성을 지정하여 노드 IP 주소 10.200.0.710.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.taintsNodePool.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)이 있는 경우 노드 풀 제거가 차단될 수 있습니다. 포드 중단 정책에 대한 자세한 내용은 포드 중단 예산에 의해 차단된 노드 삭제를 참조하세요.

다음 단계

노드 풀을 만든 후 워크로드 요구사항이 변경되면 워커 노드 풀을 업데이트하여 노드를 추가하거나 삭제할 수 있습니다. 워커 노드 풀에서 노드를 추가하거나 삭제하려면 클러스터에서 노드 추가 또는 삭제를 참조하세요.