이 페이지에서는 GKE API를 사용하여 Google Kubernetes Engine (GKE) Standard 클러스터에 있는 기존 노드 풀의 Kubernetes 노드 라벨과 노드 taint를 업데이트하는 방법을 안내합니다. Kubernetes 노드 라벨은 GKE 클러스터 및 노드 라벨과 다릅니다.
노드 taint 및 라벨은 Kubernetes 노드의 객체 메타데이터에 있습니다. Kubernetes 라벨은 특정 노드에 포드를 예약하는 데 사용됩니다. 반면 taint는 포드를 특정 노드에서 멀리 유도하는 데 사용할 수 있습니다. 자세한 내용은 GKE에서 워크로드 분리 구성을 참고하세요.
GKE API를 사용하면 노드 풀을 다시 만들거나 실행 중인 워크로드를 중단하지 않고도 기존 GKE 노드 풀의 Kubernetes 노드 라벨 및 노드 taint에 대한 업데이트를 적용할 수 있습니다. 업데이트된 노드 풀 구성은 GKE에서 보존되므로 향후 노드 풀 업그레이드 및 노드 풀에 프로비저닝된 새 노드에서 새 구성을 사용합니다.
변경사항이 GKE 클러스터의 작동에 미치는 영향에 대한 자세한 내용은 클러스터 수명 주기 변경사항을 관리하여 서비스 중단 최소화를 참고하세요. 구체적인 변경사항에 관한 자세한 내용은 GKE 클러스터의 변경사항 유형 섹션을 참고하세요.
노드 라벨 업데이트
노드 풀의 노드 라벨을 업데이트하려면 다음 명령어를 사용합니다.
gcloud container node-pools update NODEPOOL_NAME \
--node-labels=[NODE_LABEL,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
다음을 바꿉니다.
NODEPOOL_NAME
: 업데이트할 노드 풀의 이름[NODE_LABEL,...]
: 원하는 새 노드 라벨(예:label1=value1,label2=value2
)CLUSTER_NAME
: 클러스터의 이름CONTROL_PLANE_LOCATION
: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.
노드 taint 업데이트
노드 풀의 노드 taint를 업데이트하려면 다음 명령어를 사용합니다.
gcloud container node-pools update NODEPOOL_NAME \
--node-taints=[NODE_TAINT,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
다음을 바꿉니다.
NODEPOOL_NAME
: 업데이트할 노드 풀의 이름[NODE_TAINT,...]
: 원하는 새 노드 taint(예:key1=val1:NoSchedule,key2=val2:PreferNoSchedule
)CLUSTER_NAME
: 클러스터의 이름CONTROL_PLANE_LOCATION
: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.