노드 풀은 기본적으로 동시에 업데이트됩니다. 이로 인해 다음과 같은 두 가지 문제가 발생할 수 있습니다.
할당량 문제
각 노드 풀에 대해 하나의 일시 급증 노드가 생성되므로 N개의 노드 풀은 동시에 업데이트될 때 N개의 일시 급증 노드를 만듭니다. 일시 급증 노드를 만들 수 있는 추가 용량이 제한적이면 리소스가 소진될 수 있습니다.
PDB 교착 상태 문제
한 번에 2개 이상의 노드를 드레이닝하면 PDB 교착 상태가 발생할 수 있습니다.
N개의 노드 풀을 동시에 업데이트하려면 일시 급증 노드에 N개의 추가 IP 주소를 사용할 수 있어야 합니다. 워커 노드가 DHCP 서버에서 IP 주소를 가져오는 경우 DHCP 서버는 N개의 추가 IP 주소를 제공할 수 있어야 합니다. 워커 노드가 고정 IP 주소를 사용하는 경우 IP 블록 파일에 워커 노드에 필요한 IP 주소 외에 N개의 추가 IP 주소가 포함되어야 합니다.
N개 노드를 모두 동시에 업데이트하는 데 사용할 수 있는 추가 IP 주소가 충분하지 않은 경우 가능한 한 많은 풀을 동시에 업데이트합니다. IP 주소를 사용할 수 있게 되면 나머지 노드 풀을 업데이트합니다.
이 문서에서는 노드 풀 업데이트 정책을 지정하여 노드 풀 업데이트 중에 동시에 업데이트될 최대 노드 수를 구성하는 방법을 설명합니다. 앞서 언급한 두 문제를 해결하는 데 도움이 될 수 있습니다. 0은 기본값이며 현재의 동시 동작을 보존한다는 의미입니다. 1은 노드 풀을 순차적으로 업데이트한다는 의미입니다.
순차적 업데이트로 두 문제를 피할 수 있지만 노드 풀 업데이트 프로세스를 동시에 업데이트할 때보다 시간이 오래 걸릴 수 있습니다.
노드 풀 업데이트 정책 구성
사용자 클러스터 시드 구성 user-cluster.yaml에서 노드 풀 업데이트가 다음과 같이 순차적으로 수행되도록 구성할 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-04-30(UTC)"],[],[],null,["Node pools are updated in parallel by default. This can potentially\ncause the following issues:\n\n- Quota issue\n\n For each node pool, it will create one surge node, so that N node pools will\n create N surge nodes when they are updated in parallel. This may result in\n resource exhaustion if there is limited extra capacity for creating those\n surge nodes.\n- PDB deadlock issue\n\n Draining more than one node at a time could potentially cause PDB deadlocks.\n\nFor N node pools to be updated in parallel, there must be N extra IP addresses\navailable for the surge nodes. If your worker nodes get their IP addresses from a\n[DHCP server](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#network-ipmode-type-field),\nthen your DHCP server must be able to provide N extra IP addresses. If\nyour worker nodes use static IP addresses, then your\n[IP block file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#network-ipmode.ipblockfilepath-field)\nmust contain N extra IP addresses in addition to those needed for the worker\nnodes.\n\nIf there aren't enough extra IP addresses available to update all N nodes in\nparallel, then we update as many pools as possible in parallel. As IP addresses\nbecome available, we update the remaining node pools.\n\nThis document shows how to specify a node pool update policy to configure the\nmaximum number of nodes to be updated concurrently during node pool update,\nwhich can help avoid the two issues mentioned. 0 means preserving the current\nparallel behavior, which is the default value. 1 means updating the node pools\nsequentially.\n\nNote that while sequential update can avoid the two issues, it could make the\nnode pool update process take longer time than updating in parallel.\n\nNote the following limitation with advanced clusters:\n\n- Version 1.31: node pool update policies aren't supported on\n [advanced clusters](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#enable-advanced-cluster-field).\n\n- Version 1.32: node pool update policies are supported on advanced clusters.\n\nConfigure node pool update policy\n\nIn user cluster seed config user-cluster.yaml, you can configure the node pool\nupdate to be done sequentially as follows:\n\n```\nnodePoolUpdatePolicy:\n maximumConcurrentNodePoolUpdate: 1\n```\n\nThe `maximumConcurrentNodePoolUpdate` can be set to an arbitrary integer value\nto configure the number of node pools you want to update at the same time.\n\nThe node pool update policy applies to both node pool update and\nupgrade, but not create. Also in case any node pool\nupdate/upgrade encountered issues and got stuck, the current behavior is that we\nwill block there and won't move on to update next node pool."]]