기존 노드 풀의 노드 라벨 및 taint 업데이트


이 페이지에서는 Google Kubernetes Engine(GKE) Standard 클러스터에 있는 기존 노드 풀의 노드 라벨과 노드 taint를 동적으로 업데이트하는 방법을 안내합니다.

GKE Autopilot 또는 Standard 클러스터에서 네트워크 태그를 동적으로 적용하고 업데이트할 수도 있습니다. 자세한 내용은 네트워크 태그를 사용해 노드에 방화벽 규칙 적용하기를 참조하세요.

개요

노드 taint라벨은 Kubernetes 노드의 객체 메타데이터에 있습니다. 라벨은 특정 노드에서 포드를 예약하는 데 사용되며 taint를 사용하여 포드를 다른 노드로 유도할 수 있습니다.

Kubernetes Engine API를 사용하면 노드 풀을 다시 만들거나 실행 중인 워크로드를 중단하지 않고도 기존 GKE 노드 풀의 노드 라벨 및 노드 taint에 대한 업데이트를 적용할 수 있습니다. 업데이트된 노드 풀 구성은 GKE에서 보존되므로 향후 노드 풀 업그레이드 및 노드 풀의 새 노드 프로비저닝에서 새 구성을 사용합니다.

제한사항

Kubernetes Engine API를 사용하여 노드 풀 구성을 동적으로 업데이트하는 데는 몇 가지 제한사항이 있습니다.

노드 라벨 업데이트

노드 풀의 노드 라벨을 업데이트하려면 다음 명령어를 사용합니다.

gcloud container node-pools update NODEPOOL_NAME \
    --node-labels=[NODE_LABEL,...] \
    [--cluster=CLUSTER_NAME] [--region=REGION | --zone=ZONE]
    [GCLOUD_WIDE_FLAG ]

다음을 바꿉니다.

  • NODEPOOL_NAME: 업데이트할 노드 풀의 이름입니다.
  • [NODE_LABEL,...]: 원하는 새 노드 라벨입니다(예: label1=value1,label2=value2).
  • CLUSTER_NAME: 클러스터의 이름입니다.
  • REGION: 클러스터의 Compute Engine 리전입니다.
  • ZONE: 클러스터의 Compute Engine 영역입니다.

노드 taint 업데이트

노드 풀의 노드 taint를 업데이트하려면 다음 명령어를 사용합니다.

gcloud container node-pools update NODEPOOL_NAME \
    --node-taints=[NODE_TAINT,...] \
    [--cluster=CLUSTER_NAME] [--region=REGION | --zone=ZONE]
    [GCLOUD_WIDE_FLAG ]

다음을 바꿉니다.

  • NODEPOOL_NAME: 업데이트할 노드 풀의 이름입니다.
  • [NODE_TAINT,...]: 원하는 새 노드 taint입니다(예: key1=val1:NoSchedule,key2=val2:PreferNoSchedule).
  • CLUSTER_NAME: 클러스터의 이름입니다.
  • REGION: 클러스터의 Compute Engine 리전입니다.
  • ZONE: 클러스터의 Compute Engine 영역입니다.

다음 단계