자습서: Azure Arc에서 사용하도록 설정된 AKS에서 Kubernetes 업그레이드

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

애플리케이션 및 클러스터 수명 주기 관리의 일환으로 Azure Arc에서 사용하도록 설정된 AKS를 사용하는 경우 사용 가능한 최신 버전의 Kubernetes로 업그레이드할 수 있습니다.

7부 중 7부인 이 자습서에서는 Kubernetes 클러스터를 업그레이드하는 방법을 설명합니다. 이 문서에서 배울 내용은 다음과 같습니다.

  • 현재 및 사용 가능한 Kubernetes 버전 확인
  • Kubernetes 노드의 Kubernetes 버전 업그레이드
  • Kubernetes 노드의 OS 버전 업그레이드
  • Kubernetes 클러스터를 최신 버전으로 업그레이드
  • 성공적인 업그레이드의 유효성 검사
  • Kubernetes 클러스터 제거

사용 가능한 업데이트 옵션은 무엇인가요?

서로 독립적으로 그리고 지원되는 특정 조합에서 발생할 수 있는 몇 가지 유형의 업데이트가 있습니다.

  • AKS 호스트를 최신 버전으로 업데이트합니다.
  • AKS 워크로드 클러스터를 새 Kubernetes 버전으로 업데이트합니다.
  • AKS 컨테이너 호스트를 최신 버전의 운영 체제로 업데이트합니다.
  • 운영 체제 및 Kubernetes 버전의 결합된 업데이트입니다.

모든 업데이트는 워크로드 가용성 중단을 방지하기 위해 롤링 흐름에서 수행됩니다. 새 빌드가 있는 새 Kubernetes 작업자 노드를 클러스터로 가져오면 리소스가 이전 노드에서 새 노드로 이동됩니다. 이 작업이 성공적으로 완료되면 이전 노드가 해제되고 클러스터에서 제거됩니다.

이 자습서의 예제에서는 워크로드 클러스터 가 mycluster현재 Kubernetes 버전 1.18.8에 있으며 30일이 지난 운영 체제 버전을 사용한다고 가정합니다.

시작하기 전에

이전 자습서에서는 애플리케이션을 컨테이너 이미지로 패키지하고, Azure Container Registry 업로드하고, Kubernetes 클러스터를 만드는 방법을 알아보았습니다. 그런 다음 클러스터에 애플리케이션을 배포했습니다. 이러한 단계를 완료하지 않은 경우 자습서 1 – 컨테이너 이미지 만들기로 시작합니다.

워크로드 클러스터의 Kubernetes 버전 업데이트

Kubernetes 버전을 업데이트하기 전에 먼저 PowerShell 모듈 및 AKS 호스트를 업그레이드해야 합니다.

중요

워크로드 클러스터를 최신 버전의 Kubernetes로 업데이트하는 것은 대상 Kubernetes 버전이 현재 운영 체제 버전에서 지원되는 경우에만 작동합니다. 지원되는 운영 체제 및 Kubernetes 버전 조합에 대해 검사 명령을 사용합니다Get-AksHciUpdates.

다음 단계를 사용하여 Kubernetes 버전을 업데이트합니다.

  1. 현재 버전의 워크로드 클러스터를 얻으려면 다음 명령을 실행합니다.

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. 사용 가능한 Kubernetes 버전을 얻으려면 다음 명령을 실행합니다.

    Get-AksHciKubernetesVersion
    
    OrchestratorType OrchestratorVersion OS      IsPreview
    ---------------- ------------------- --      ---------
    Kubernetes       v1.19.9             Linux       False
    Kubernetes       v1.19.11            Linux       False
    Kubernetes       v1.20.5             Linux       False
    Kubernetes       v1.20.7             Linux       False
    Kubernetes       v1.21.1             Linux       False
    Kubernetes       v1.19.9             Windows     False
    Kubernetes       v1.19.11            Windows     False
    Kubernetes       v1.20.5             Windows     False
    Kubernetes       v1.20.7             Windows     False
    Kubernetes       v1.21.1             Windows     False
    

    출력에는 버전을 사용할 수 있는 Kubernetes 버전 및 운영 체제가 표시됩니다. 사용 가능한 업그레이드 버전이 더 있음을 확인할 수 있습니다. 그러나 클러스터를 업그레이드하는 경우 버전을 건너뛸 수 없습니다. 예를 들어 v1.18.xx --> v1.19.xx는 허용되지만 v1.18.xx --> v1.20.xx는 허용되지 않습니다.

  3. Kubernetes 버전 업데이트 시작

    Kubernetes 버전을 업데이트하려면 다음 명령을 실행합니다.

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    참고

    이 명령은 워크로드 클러스터의 기존 클러스터 노드 mycluster 만 새 버전의 Kubernetes로 업데이트합니다.

운영 체제 버전만 업데이트

중요

Kubernetes 버전을 변경하지 않고 워크로드 클러스터를 최신 버전의 운영 체제로 업데이트할 수 있지만 새 운영 체제 버전에 다른 Kubernetes 버전이 필요하지 않은 경우에만 작동합니다.

다음 예제의 단계를 사용하여 OS 버전을 업데이트합니다.

  1. 사용 가능한 워크로드 클러스터 업데이트를 얻으려면 다음 명령을 실행합니다.

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                operatingsystemversion
    -------                             -----------------                ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9  @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5  @{mariner=April 2021; windows=April 2021}
    
  2. 운영 체제 버전 업데이트를 시작하려면 다음 명령을 실행합니다.

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

OS 및 Kubernetes 버전 모두 업데이트

중요

워크로드 클러스터를 최신 버전의 운영 체제 및 Kubernetes 버전으로 업데이트하는 것이 지원됩니다.

다음 예제에서는 사용 가능한 새 Kubernetes 버전이 있고 현재 버전 번호가 v1.20.7이라고 가정합니다.

  1. 사용 가능한 모든 워크로드 클러스터 업데이트를 얻으려면 다음 명령을 실행합니다.

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                  operatingsystemversion
    -------                             -----------------                  ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9    @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5    @{mariner=April 2021; windows=April 2021}
    
  2. 워크로드 클러스터 업데이트를 시작하려면 다음 명령을 실행합니다.

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

업그레이드 유효성 검사

다음과 같이 Get-AksHciCluster 명령을 사용하여 업그레이드가 성공했는지 확인합니다.

Get-AksHciCluster -name mycluster

다음 예제 출력은 클러스터가 KubernetesVersion v1.21.1을 실행하는 것을 보여 줍니다.

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

클러스터 삭제

이 자습서는 시리즈의 마지막 부분이므로 클러스터를 삭제할 수 있습니다. Remove-AksHciCluster 명령을 사용하여 리소스 그룹, 컨테이너 서비스 및 모든 관련 리소스를 제거합니다.

Remove-AksHciCluster -name mycluster

다음 단계

이 자습서에서는 Arc에서 사용하도록 설정된 AKS의 Kubernetes 클러스터에서 Kubernetes를 업그레이드했습니다. 다음을 수행하는 방법을 배웠습니다.

  • 현재 및 사용 가능한 Kubernetes 버전 확인
  • Kubernetes 노드의 Kubernetes 버전 업그레이드
  • Kubernetes 노드의 OS 버전 업그레이드
  • Kubernetes 클러스터를 최신 버전으로 업그레이드
  • 성공적인 업그레이드의 유효성 검사

Azure Arc에서 사용하도록 설정된 AKS에 대한 자세한 내용은 AKS 개요클러스터 및 워크로드를 참조하세요.