AKS(Azure Kubernetes Service) 클러스터 업그레이드 옵션

이 문서에서는 다양한 AKS 클러스터 업그레이드 옵션을 설명합니다. 기본 Kubernetes 버전을 업그레이드하려면 AKS 클러스터 업그레이드를 참조하세요.

여러 노드 풀 또는 Windows Server 노드를 사용하는 AKS 클러스터의 경우 AKS에서 노드 풀 업그레이드를 참조하세요. Kubernetes 클러스터 업그레이드를 수행하지 않고 특정 노드 풀을 업그레이드하려면 특정 노드 풀 업그레이드를 참조하세요.

수동 업그레이드 수행

수동으로 업그레이드하여 클러스터를 새 Kubernetes 버전으로 업그레이드하는 시기를 제어할 수 있습니다. 수동 업그레이드는 프로덕션 클러스터를 업그레이드하기 전에 새 Kubernetes 버전을 테스트하려는 경우 유용합니다. 또한 수동 업그레이드를 통해 사용 가능한 최신 버전이 아닌 특정 Kubernetes 버전으로 클러스터를 업그레이드할 수 있습니다.

수동으로 업그레이드하려면 다음 문서를 참조하세요.

자동 업그레이드 구성

자동 업그레이드를 구성하면 클러스터를 사용 가능한 최신 Kubernetes 버전으로 자동 업그레이드할 수 있습니다. 자동 업그레이드는 클러스터가 항상 최신 Kubernetes 버전을 실행하고 있는지 확인하려는 경우에 유용합니다. 또한 자동 업그레이드를 사용하여 클러스터가 항상 지원되는 Kubernetes 버전을 실행하도록 할 수도 있습니다.

자동 업그레이드를 구성하려면 다음 문서를 참조하세요.

여러 가용성 영역에 걸쳐 있는 노드 풀에 대한 특별 고려 사항

AKS는 노드 그룹에서 최상의 영역 분산을 사용합니다. 업그레이드 서지 중에 Virtual Machine Scale Sets 서지 노드에 대한 영역은 미리 알 수 없으므로 업그레이드 중에 일시적으로 영역 구성이 불균형해질 수 있습니다. 그러나 업그레이드가 완료되면 AKS는 서지 노드를 삭제하고 원래 영역 균형을 유지합니다. 업그레이드하는 동안 영역의 균형을 유지하려는 경우 서지를 노드 3개의 배수로 늘릴 수 있으며, Virtual Machine Scale Sets에서 최상의 영역 분산을 통해 가용성 영역 간에 노드의 균형을 유지할 수 있습니다. 최상의 영역 균형을 사용하면 확장 집합은 균형을 유지하면서 규모 확장 및 감축을 시도합니다. 그러나 어떤 이유로든 이것이 불가능한 경우(예: 하나의 영역이 다운되어 확장 집합에서 해당 영역에 새 VM을 만들 수 없는 경우) 확장 집합을 사용하면 일시적인 불균형을 성공적으로 확장 또는 감축할 수 있습니다.

Azure LRS(로컬 중복 스토리지) 디스크에서 지원되는 PVC(영구 볼륨 클레임)는 특정 영역에 바인딩되며, 서지 노드가 PVC의 영역과 일치하지 않으면 즉시 복구하지 못할 수도 있습니다. 영역이 일치하지 않으면 업그레이드 작업 시 노드를 계속 드레이닝하지만 PV가 영역에 바인딩될 때 애플리케이션의 가동이 중지될 수 있습니다. 이 사례를 처리하고 고가용성을 유지하려면 Kubernetes가 드레이닝 작업 중에 가용성 요구 사항을 준수할 수 있도록 애플리케이션에서 Pod 중단 예산을 구성합니다.

업그레이드를 최적화하여 성능 향상 및 중단 최소화

계획된 유지 관리 기간, 최대 서지, Pod 중단 예산, 노드 드레이닝 시간 제한노드 흡수 시간의 조합으로 중단을 최소화하면서 유지 관리 기간이 끝날 무렵에 노드 업그레이드가 성공적으로 완료될 가능성을 크게 높일 수 있습니다.

  • 계획된 유지 관리 기간을 사용하면 서비스 팀이 미리 정의된 기간(일반적으로 트래픽이 적은 기간)에 자동 업그레이드를 예약하여 워크로드에 미치는 영향을 최소화할 수 있습니다. 최소 4시간 동안 사용하는 것이 좋습니다.
  • 노드 풀의 최대 서지를 사용하면 업그레이드 프로세스 중에 추가 할당량을 요청할 수 있으며, 동시에 업그레이드하기 위해 선택한 노드의 수를 제한할 수 있습니다. 최대 서지가 높을수록 업그레이드 프로세스가 빨라집니다. 모든 노드를 동시에 업그레이드하여 실행 중인 애플리케이션이 중단될 수 있으므로 100%로 설정하지 않는 것이 좋습니다. 프로덕션 노드 풀에는 최대 33%의 서지 할당량을 설정하는 것이 좋습니다.
  • Pod 중단 예산은 서비스 애플리케이션에 대해 설정되며 AKS 제어 노드 업그레이드와 같이 자발적인 중단 중에 중단될 수 있는 Pod 수를 제한합니다. 활성화해야 하는 최소 애플리케이션 포드 수를 나타내는 minAvailable 복제본으로 구성하거나 종료할 수 있는 최대 애플리케이션 포드 수를 나타내는 maxUnavailable 복제본으로 구성하여 애플리케이션의 고가용성을 보장할 수 있습니다. PDB(Pod 중단 예산) 구성에 제공된 지침을 참조하세요. 특정 서비스에 가장 적합한 설정을 확인하려면 PDB 값의 유효성을 검사해야 합니다.
  • 노드 풀의 노드 드레이닝 시간 제한을 사용하면 업그레이드 중에 Pod 제거 및 노드당 정상 종료 대기 시간을 구성할 수 있습니다. 이 옵션은 장기 실행 워크로드를 처리할 때 유용합니다. 노드 드레이닝 시간 제한(단위: 분)을 지정하면 AKS에서 Pod 중단 예산을 대기합니다. 지정하지 않으면 기본 시간 제한은 30분입니다.
  • 노드 흡수 시간은 제어되는 방식으로 노드 업그레이드를 중지하는 데 도움이 되며 업그레이드 중에 발생하는 애플리케이션 가동 중지 시간을 최소화할 수 있습니다. 노드 업그레이드 사이에 애플리케이션 준비 상태를 확인하려면 대기 시간을 최대한 0분에 가깝게 지정하면 됩니다. 지정하지 않으면 기본값은 0분입니다. 노드 흡수 시간은 노드 풀에서 사용할 수 있는 최대 서지/노드 드레이닝 시간 제한 속성과 함께 작동하여 업그레이드 속도 및 애플리케이션 가용성 측면에서 올바른 결과를 제공합니다.

다음 단계

이 문서에서는 다양한 AKS 클러스터 업그레이드 옵션을 나열했습니다. 업그레이드 모범 사례 및 기타 고려 사항에 대한 자세한 내용은 AKS 패치 및 업그레이드 참고 자료를 참조하세요.