노드 풀은 기본적으로 동시에 업데이트됩니다. 이로 인해 다음과 같은 두 가지 문제가 발생할 수 있습니다.
할당량 문제
각 노드 풀에 대해 하나의 일시 급증 노드가 생성되므로 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에서 노드 풀 업데이트가 다음과 같이 순차적으로 수행되도록 구성할 수 있습니다.
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
maximumConcurrentNodePoolUpdate
를 임의의 정수 값으로 설정하여 동시에 업데이트할 노드 풀 수를 구성할 수 있습니다.
노드 풀 업데이트 정책은 노드 풀 업데이트와 업그레이드 모두에 적용되지만 생성하지는 않습니다. 또한 노드 풀 업데이트/업그레이드에 문제가 발생하여 중단되는 경우 현재 동작이 차단되어 다음 노드 풀 업데이트가 진행되지 않습니다.