AKS(Azure Kubernetes Service) 클러스터 자동 업그레이드

AKS 클러스터 수명 주기 중 일부에는 최신 Kubernetes 버전으로 정기적으로 업그레이드하는 작업이 포함됩니다. 최신 보안 릴리스를 적용하거나 업그레이드하여 최신 기능을 받는 것은 중요합니다. 자동 업그레이드에 대해 알아보기 전에 AKS 클러스터 업그레이드 기본 사항을 이해해야 합니다.

참고 항목

수동으로 수행하든 자동으로 수행하든 모든 업그레이드 작업은 아직 최신 버전을 사용하고 있지 않은 경우 노드 이미지 버전을 업그레이드합니다. 최신 버전은 전체 AKS 릴리스에 따라 결정되며 AKS 릴리스 추적기를 방문하여 확인할 수 있습니다.

자동 업그레이드는 먼저 컨트롤 플레인을 업그레이드한 다음, 에이전트 풀을 하나씩 업그레이드합니다.

클러스터 자동 업그레이드를 사용하는 이유

클러스터 자동 업그레이드는 구체적인 시간 및 운영 비용 이점을 생성하는 “한 번만 설정”하면 되는 메커니즘을 제공합니다. 자동 업그레이드를 사용하도록 설정하여 클러스터를 최신 상태로 유지하고 AKS 및 업스트림 Kubernetes의 최신 기능 또는 패치를 놓치지 않도록 할 수 있습니다.

AKS는 엄격한 지원 가능성 버전 관리 창을 따릅니다. 자동 업그레이드 채널을 적절하게 선택하면 클러스터가 지원되지 않는 버전으로 떨어지는 것을 방지할 수 있습니다. AKS 지원 창에 대한 자세한 내용은 별칭 부 버전을 참조하세요.

고객 및 AKS 시작 자동 업그레이드

다음 지침을 사용하여 클러스터 자동 업그레이드 세부 정보를 지정할 수 있습니다. 업그레이드는 지정된 주기에 따라 수행되며 지원되는 Kubernetes 버전을 유지하는 것이 좋습니다.

AKS는 지원되지 않는 클러스터에 대한 자동 업그레이드도 시작합니다. n-3 버전의 클러스터(여기서 n은 지원되는 최신 AKS GA 부 버전)가 n-4로 떨어질 경우 AKS는 자동으로 클러스터를 n-2로 업그레이드하여 AKS 지원 정책을 유지합니다. 플랫폼 지원 클러스터를 지원되는 버전으로 자동으로 업그레이드하는 것은 기본적으로 사용하도록 설정됩니다. 중지된 노드 풀은 자동 업그레이드 작업 중에 업그레이드됩니다. 노드 풀이 시작될 때 업그레이드가 노드에 적용됩니다. 중단을 최소화하려면 유지 관리 기간을 설정합니다.

클러스터 자동 업그레이드 제한 사항

클러스터 자동 업그레이드를 사용하는 경우에는 더 이상 먼저 컨트롤 플레인을 업그레이드한 다음, 개별 노드 풀을 업그레이드할 수 없습니다. 클러스터 자동 업그레이드는 항상 컨트롤 플레인과 노드 풀을 함께 업그레이드합니다. 컨트롤 플레인만 업그레이드할 수 없습니다. az aks upgrade --control-plane-only 명령을 실행하면 NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane. 오류가 발생합니다.

node-image 클러스터 자동 업그레이드 채널 또는 NodeImage 노드 이미지 자동 업그레이드 채널을 사용하는 경우 Linux 무인 업그레이드는 기본적으로 사용하지 않도록 설정됩니다.

클러스터 자동 업그레이드 채널

자동으로 완료된 업그레이드는 기능적으로 수동 업그레이드와 동일합니다. 선택한 자동 업그레이드 채널에 따라 업그레이드 시기가 결정됩니다. 자동 업그레이드를 변경할 때 변경 내용이 적용되도록 24시간을 허용합니다. 클러스터를 자동으로 업그레이드하는 것은 클러스터를 수동으로 업그레이드하는 것과 동일한 프로세스를 따릅니다. 자세한 내용은 AKS 클러스터 업그레이드를 참조하세요.

다음과 같은 채널이 지원됩니다.

채널 작업 예시
none 자동 업그레이드를 비활성화하고 클러스터를 현재 버전의 Kubernetes로 유지합니다. 변경되지 않은 상태로 유지되는 경우의 기본 설정.
patch 부 버전은 동일하게 유지하고 클러스터를 사용할 수 있게 되면 지원되는 최신 패치 버전으로 자동으로 업그레이드합니다. 예를 들어, 클러스터가 1.17.7 버전을 실행하고 있으며, 1.17.9, 1.18.4, 1.18.6, 및 1.19.1 버전을 이용할 수 있는 경우, 클러스터는 1.17.9 버전으로 업그레이드됩니다.
stable 부 버전 N-1에서 지원되는 최신 패치 릴리스로 클러스터를 자동 업그레이드합니다. 여기서 숫자 N은 지원되는 최신 부 버전입니다. 예를 들어, 클러스터가 1.17.7 버전을 실행하고 있으며, 1.17.9, 1.18.4, 1.18.6, 및 1.19.1 버전을 이용할 수 있는 경우, 클러스터는 1.18.6 버전으로 업그레이드됩니다.
rapid 지원되는 최신 부 버전에서 지원되는 최신 패치 릴리스로 클러스터를 자동으로 업그레이드합니다. 클러스터의 Kubernetes 버전이 N-2 부 버전(여기서 N은 지원되는 최신 부 버전)인 경우, 클러스터는 우선 N-1 부 버전의 지원되는 최신 패치 버전으로 업그레이드됩니다. 예를 들어, 클러스터가 1.17.7 버전을 실행하고 있으며, 1.17.9, 1.18.4, 1.18.6, 및 1.19.1 버전을 이용할 수 있는 경우, 클러스터는 1.18.6으로 업그레이드된 다음 1.19.1로 업그레이됩니다.
node-image 노드 이미지를 사용 가능한 최신 버전으로 자동으로 업그레이드합니다. Microsoft는 이미지 노드에 대한 패치 및 새 이미지를 자주(일반적으로 매주) 제공하지만 노드 이미지 업그레이드를 수행하지 않는 한 실행 중인 노드는 새 이미지를 얻지 못합니다. 노드 이미지 채널을 켜면 새 버전을 사용할 수 있을 때마다 노드 이미지가 자동으로 업데이트됩니다. 이 채널을 사용하면 Linux [무인 업그레이드]가 기본적으로 사용하지 않도록 설정됩니다. 부 Kubernetes 버전이 계속 지원되는 한 노드 이미지 업그레이드는 더 이상 사용되지 않는 패치 버전에서 작동합니다.

참고 항목

클러스터 자동 업그레이드를 사용할 때 다음 정보를 염두에 두어야 합니다.

  • 클러스터 자동 업그레이드는 Kubernetes의 GA 버전으로만 업데이트되며 미리 보기 버전으로 업데이트되지 않습니다.

  • AKS를 사용하면 정확한 패치 버전을 지정하지 않고 클러스터를 만들 수 있습니다. 패치를 지정하지 않고 클러스터를 만들면 클러스터는 부 버전의 최신 GA 패치를 실행합니다. 자세히 알아보려면 AKS 지원 창을 참조하세요.

  • 자동 업그레이드를 사용하려면 node-image 채널을 사용하는 경우에도 클러스터의 Kubernetes 버전이 AKS 지원 창 내에 있어야 합니다.

  • 미리 보기 API 11-02-preview 이상을 사용하거나 node-image 클러스터 자동 업그레이드 채널을 선택하면 노드 이미지 자동 업그레이드 채널이 자동으로 NodeImage로 설정됩니다.

  • 각 클러스터는 단일 자동 업그레이드 채널에만 연결할 수 있습니다. 지정된 채널이 클러스터에서 실행되는 Kubernetes 버전을 결정하기 때문입니다.

새 AKS 클러스터에서 클러스터 자동 업그레이드 사용

  • az aks create 명령 및 auto-upgrade-channel 매개 변수를 사용하여 새 클러스터를 만들 때 자동 업그레이드 채널을 설정합니다.

    az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys
    

기존 AKS 클러스터에서 클러스터 자동 업그레이드 사용

  • auto-upgrade-channel 매개 변수와 함께 az aks update 명령을 사용하여 기존 클러스터에서 자동 업그레이드 채널을 설정합니다.

    az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
    

계획된 유지 관리와 함께 자동 업그레이드 사용

계획된 유지 관리 및 클러스터 자동 업그레이드를 사용하는 경우 지정된 유지 관리 기간 동안 업그레이드가 시작됩니다.

참고 항목

적절한 기능을 보장하려면 유지 관리 기간을 4시간 이상으로 설정합니다.

계획된 유지 관리를 사용하여 기본 테넌트 기간을 설정하는 방법에 대한 자세한 내용은 계획된 유지 관리를 사용하여 AKS(Azure Kubernetes Service) 클러스터에 대한 기본 테넌트 기간을 예약하는 방법을 참조하세요.

클러스터 자동 업그레이드 모범 사례

다음 모범 사례를 사용하여 자동 업그레이드를 사용할 때 성공을 극대화도록 돕습니다.

  • 클러스터를 항상 지원되는 버전(즉, N-2 규칙 내)으로 유지하려면 stable 또는 rapid 채널을 선택합니다.
  • 가능한 한 빨리 최신 패치를 받고 싶다면 patch 채널을 사용합니다. 에이전트 풀이 항상 최신 노드 이미지를 실행하도록 하려면 node-image 채널이 적합합니다.
  • 다른 클러스터 업그레이드 채널을 사용하는 동안 노드 이미지를 자동으로 업그레이드하려면 노드 이미지 자동 업그레이드NodeImage 채널을 사용하는 것이 좋습니다.
  • 운영자 모범 사례를 따릅니다.
  • PDB 모범 사례를 따릅니다.
  • 업그레이드 문제 해결 정보는 AKS 문제 해결 설명서를 참조하세요.

업그레이드 모범 사례 및 기타 고려 사항에 대한 자세한 내용은 AKS 패치 및 업그레이드 지침을 참조하세요.