플랫폼 관리자는 노드 업그레이드 전략을 구성하여 GKE가 Google Kubernetes Engine(GKE) 클러스터에서 노드를 업그레이드하는 방법을 조정할 수 있습니다. 노드 업그레이드 전략에 대한 자세한 내용은 노드 업그레이드 전략을 참조하세요.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
노드 업그레이드 전략 구성
클러스터의 노드를 구성할 때 지원되는 노드 풀 업그레이드 전략, 이름하여 일시 급증 또는 블루/그린 중 하나를 선택하고 구성할 수 있습니다. 이러한 업그레이드 전략을 사용하면 클러스터 환경의 니즈에 따라 노드 풀 업그레이드 프로세스를 최적화할 수 있습니다.
일시 급증 업그레이드 구성
일시 급증 업그레이드를 사용하면 GKE 업그레이드 노드 수를 한 번에 변경할 수 있고 업그레이드로 인한 워크로드 중단 기간을 변경할 수 있습니다.
max-surge-upgrade
및 max-unavailable-upgrade
플래그는 각 노드 풀에 정의됩니다. 올바른 파라미터 선택에 대한 자세한 내용은 일시 급증 업그레이드 구성 최적화를 참조하세요.
이 설정은 클러스터 또는 노드 풀을 만들거나 업데이트할 때 변경할 수 있습니다.
아래 명령어에 사용되는 변수는 다음과 같습니다.
CLUSTER_NAME
: 노드 풀의 클러스터 이름입니다.COMPUTE_ZONE
: 클러스터의 영역입니다.NODE_POOL_NAME
: 노드 풀의 이름입니다.NUMBER_NODES
: 각 클러스터 영역의 노드 풀에 있는 노드 수입니다.SURGE_NODES
: 노드 풀의 각 업그레이드에서 생성될 추가(일시 급증) 노드의 수입니다.UNAVAILABLE_NODES
: 노드 풀의 각 업그레이드에서 동시에 사용할 수 없는 노드 수입니다.
특정 일시 급증 매개변수로 클러스터 만들기
일시 급증 업그레이드에 대한 특정 설정으로 클러스터를 만들려면 max-surge-upgrade
및 max-unavailable-upgrade
플래그를 사용합니다.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
일시 급증 업그레이드가 사용 중지된 클러스터 만들기
일시 급증 업그레이드가 없는 클러스터를 만들려면 max-surge-upgrade
플래그 값을 0
으로 설정합니다.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=0 --max-unavailable-upgrade=1
특정 일시 급증 매개변수로 노드 풀 만들기
기존 클러스터에서 일시 급증 업그레이드에 대한 특정 설정으로 노드 풀을 만들려면 max-surge-upgrade
및 max-unavailable-upgrade
플래그를 사용합니다.
gcloud container node-pools create NODE_POOL_NAME \ --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
기존 노드 풀의 일시 급증 업그레이드 설정 변경
기존 노드 풀의 업그레이드 설정을 업데이트하려면 max-surge-upgrade
및 max-unavailable-upgrade
플래그를 사용합니다. max-surge-upgrade
를 0
보다 큰 값으로 설정하면 GKE가 일시 급증 노드를 생성합니다. max-surge-upgrade
를 0
으로 설정하면 GKE가 일시 급증 노드를 생성하지 않습니다.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
노드 풀에서 일시 급증 업그레이드가 사용 설정되었는지 확인
노드 풀에서 일시 급증 업그레이드가 사용 설정되었는지 확인하려면 gcloud
를 사용하여 클러스터 매개변수를 설명합니다.
gcloud container node-pools describe NODE_POOL_NAME \ --cluster=CLUSTER_NAME
노드 풀에서 일시 급증 업그레이드가 사용 설정된 경우 나열된 전략은 SURGE
입니다.
블루/그린 업그레이드 구성
블루/그린 노드 풀 업그레이드를 사용하면 다음을 제어할 수 있습니다.
BATCH_NODE_COUNT
또는BATCH_PERCENT
: GKE가 한 번에 드레이닝하는 노드의 배치 크기입니다. 즉, 포드가 노드에서 삭제됩니다. 기본값은BATCH_NODE_COUNT=1
입니다. 이러한 설정 중 하나가 0으로 설정되면 GKE는 이 단계를 건너뛰고 노드 풀 적응 단계로 진행합니다.BATCH_SOAK_DURATION
: 드레이닝하는 노드의 각 배치 사이의 시간입니다.NODE_POOL_SOAK_DURATION
: 새 노드 구성에서 워크로드를 검증하는 데 걸리는 적응 시간입니다.
블루/그린 업그레이드 단계의 작동 방식에 대한 자세한 내용은 블루/그린 업그레이드 단계를 참조하세요.
다음 섹션에 나열된 명령에는 다음 변수가 사용됩니다.
CLUSTER_NAME
: 노드 풀의 클러스터 이름입니다.NODE_POOL_NAME
: 노드 풀의 이름입니다.NUMBER_NODES
: 각 클러스터 영역의 노드 풀에 있는 노드 수입니다.BATCH_NODE_COUNT
: 블루 풀 드레이닝 단계 중 일괄 처리에서 드레이닝할 블루 노드 수입니다. 기본값은 1입니다. 0으로 설정하면 블루 풀 드레이닝 단계를 건너뜁니다.BATCH_PERCENT
: 블루 풀 드레이닝 단계 중에 일괄로 드레이닝할 블루 노드의 비율로, 0에서 1 사이의 십진수로 표시됩니다. 백분율이 노드의 정수가 아니면 GKE는 가장 가까운 노드부터 최솟값 노드 1개로 내림합니다. 0으로 설정하면 블루 풀 드레이닝 단계를 건너뜁니다.BATCH_SOAK_DURATION
: 각 일괄 드레이닝 이후 대기할 시간(초)입니다. 기본값은 0입니다.NODE_POOL_SOAK_DURATION
: 모든 일괄 처리의 드레이닝을 완료한 후 대기할 시간(초)입니다. 기본값은 3,600초입니다.
블루/그린 업그레이드 전략으로 노드 풀 만들기
블루/그린 업그레이드 기본 매개변수로 노드 풀 만들기
기존 클러스터에 기본 매개변수로 블루/그린 업그레이드 전략을 사용하여 노드 풀을 만들려면 다음 명령어를 사용합니다.
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
절대 노드 수 배치 크기를 사용하여 블루/그린 업그레이드로 노드 풀 만들기
커스텀 블루/그린 업그레이드 설정으로 노드 풀을 만들려면 노드 풀 만들기 명령어와 함께 매개변수 플래그를 사용합니다.
이 명령어는 일괄 드레이닝의 절대 노드 수를 사용하여 다음과 같은 맞춤설정된 블루/그린 구성으로 노드 풀을 만듭니다.
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10초NODE_POOL_SOAK_DURATION
= 600초
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
백분율 기반 배치 크기를 사용하여 블루/그린 업그레이드로 노드 풀 만들기
이 명령어는 일괄 드레이닝 백분율을 사용하여 다음과 같은 맞춤설정된 블루/그린 구성으로 노드 풀을 만듭니다.
BATCH_PERCENTAGE
= 노드 풀 크기의 25%BATCH_SOAK_DURATION
= 10초NODE_POOL_SOAK_DURATION
= 1800초
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
기존 노드 풀 블루/그린 업그레이드 전략 업데이트
블루/그린 업그레이드 기본 매개변수로 노드 풀 업데이트
기존 노드 풀을 블루/그린 업그레이드 전략으로 업데이트하려면 다음 명령어를 사용하세요.
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
절대 노드 수 배치 크기를 사용하여 블루/그린 업그레이드로 노드 풀 업데이트
기존 노드 풀을 커스텀 설정으로 블루/그린 업그레이드 전략으로 업데이트하려면 노드 풀 만들기 명령어와 함께 매개변수 플래그를 사용합니다.
이 명령어는 일괄 드레이닝의 절대 노드 수를 사용하여 다음과 같은 맞춤설정된 블루/그린 구성을 사용하도록 노드 풀을 업데이트합니다.
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10초NODE_POOL_SOAK_DURATION
= 600초
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
백분율 기반 배치 크기를 사용하여 블루/그린 업그레이드로 노드 풀 업데이트
이 명령어는 일괄 드레이닝 백분율을 사용하여 다음과 같은 맞춤설정된 블루/그린 구성으로 노드 풀을 만듭니다.
BATCH_PERCENTAGE
= 노드 풀 크기의 25%BATCH_SOAK_DURATION
= 10초NODE_POOL_SOAK_DURATION
= 1800초
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
일시 급증 업그레이드로 다시 전환
설정을 사용하여 블루/그린 업그레이드의 동작을 변경하고 명령어로 업그레이드 프로세스를 제어할 수 있습니다.
하지만 대신 일시 급증 업그레이드를 사용하려면 다음 명령어를 실행하여 일시 급증 업그레이드로 다시 전환합니다.
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-surge-upgrade
노드 풀의 업그레이드 설정 검사
노드 풀의 현재 업그레이드 설정을 검사하려면 다음 명령어를 사용하여 노드 풀을 설명하면 됩니다.
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
다음 스니펫은 명령어의 출력 예시입니다. strategy
필드는 사용 중인 업그레이드 전략을 나타냅니다. SURGE는 일시 급증 업그레이드 전략이 사용 설정되어 있음을 나타내고 BLUE_GREEN은 블루/그린 업그레이드 전략이 사용 설정된 것입니다.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
이 명령어는 진행 중인 블루/그린 업그레이드의 현재 단계도 보여줍니다. 노드 풀의 업그레이드 설정 확인에 대해 자세히 알아보기
다음 단계
- 노드 업그레이드 전략 자세히 알아보기
- 노드 풀을 수동으로 업그레이드하는 방법 알아보기