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

적용 대상: Azure Stack HCI, 버전 23H2

애플리케이션 및 클러스터 수명 주기 관리의 일환으로 사용 가능한 최신 버전의 Kubernetes로 업그레이드할 수 있습니다. 업그레이드에는 최신 버전의 Kubernetes로 이동하거나 OS(운영 체제) 버전 업데이트(패치)를 적용하거나 둘 다 적용해야 합니다. AKS Arc는 최신 OS 및 런타임 업데이트를 사용하여 워크로드 클러스터에서 노드 업그레이드(또는 패치)를 지원합니다.

모든 업그레이드는 워크로드의 중단 없는 가용성을 보장하기 위해 연속적인 롤링 방식으로 실행됩니다. 새 빌드가 있는 새 Kubernetes 작업자 노드를 클러스터로 가져오면 리소스가 이전 노드에서 새 노드로 이동됩니다. 이 작업이 성공적으로 완료되면 이전 노드가 서비스 해제되고 클러스터에서 제거됩니다.

시작하기 전에

Azure CLI를 사용하는 경우 이 문서에는 Azure CLI 버전 2.34.1 이상이 필요합니다. az --version을 실행하여 버전을 찾습니다. CLI를 설치하거나 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

사용 가능한 업그레이드 확인

다음 명령을 사용하여 클러스터에 사용할 수 있는 Kubernetes 릴리스를 확인합니다.

az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster

다음 예제 출력은 현재 버전을 1.24.11 로 표시하고 에서 upgrades사용 가능한 버전을 나열합니다.

{  
  "agentPoolProfiles": [  
    {  
      "kubernetesVersion": "1.24.11",  
      "upgrades": [  
        {  
          "kubernetesVersion": "1.25.7"  
        }  
      ]  
    }  
  ],  
  "controlPlaneProfile": {  
    "kubernetesVersion": "1.24.11",  
    "name": "aksarc-testupgrade",  
    "osType": "Linux",  
    "upgrades": [  
      {  
        "kubernetesVersion": "1.25.7"  
      }  
    ]  
  },  
  ...  
  "provisioningState": "Succeeded",  
  ...  
}

Kubernetes 버전 업그레이드

지원되는 AKS 클러스터를 업그레이드하는 경우 Kubernetes 부 버전을 건너뛸 수 없습니다. 모든 업그레이드는 주 버전 번호별로 순차적으로 수행해야 합니다. 예를 들어 1.24.x에서 1.25.x 또는 1.25.x에서 1.26.x로 업그레이드할 수 있습니다. 1.24.x 에서 1.26.x 까지는 허용되지 않습니다.

참고

패치가 지정되지 않은 경우 클러스터는 지정된 부 버전의 최신 GA 패치로 자동으로 업그레이드됩니다. 예를 들어 를 1.25로 설정 --kubernetes-version 하면 클러스터가 1.25.7로 업그레이드됩니다.

다음 명령을 사용하여 클러스터를 업그레이드할 수 있습니다.

az aksarc upgrade \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --kubernetes-version <KUBERNETES_VERSION>

다음 명령을 사용하여 업그레이드에 성공했는지 확인합니다.show

az aksarc show --resource-group myResourceGroup --name myAKSCluster

다음 예제 출력은 클러스터가 이제 1.25.7을 실행한다는 것을 보여줍니다.

{  
"extendedLocation": {  
  "name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",  
  "type": "CustomLocation"  
},  
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",  
"name": "default",  
"properties": {  
  "agentPoolProfiles": [  
    {  
    }  
  ],  
  "controlPlane": {  
    "availabilityZones": null,  
    "controlPlaneEndpoint": {  
      "hostIp": null,  
      "port": null  
    },  
    "count": 1,  
    "linuxProfile": {  
      "ssh": {  
        "publicKeys": null  
      }  
    },  
    "name": null,  
    "nodeImageVersion": null,  
    "osSku": "CBLMariner",  
    "osType": "Linux",  
    "vmSize": "Standard_A4_v2"  
  },  
  "kubernetesVersion": "1.25.7",  
...  
  "provisioningState": "Succeeded",  
  ...  
},  
....  
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"  
}

중요

두 개 이상의 부 버전을 건너뛰는 지원되지 않는 버전에서 업그레이드를 수행하는 경우 업그레이드는 적절한 기능을 보장할 수 없습니다. 버전이 상당히 오래된 경우 대신 클러스터를 다시 만드는 것이 좋습니다.

업그레이드 작업 중에 및 currentState 표시기 모두 provisioningState 진행 중인 프로세스를 반영하도록 업그레이드 메시지를 표시합니다. 그러나 작업이 시간 초과 provisioningState 되면 실패가 표시되고 currentState 업그레이드가 백그라운드에서 계속됨에 따라 업그레이드 가 계속 표시됩니다. 아무 작업도 필요하지 않습니다. 업그레이드가 완료될 때까지 계속됩니다.

OS(운영 체제) 버전 업데이트

Kubernetes 버전을 변경하지 않고 작업자 노드를 최신 버전의 노드 이미지로 업데이트하는 것은 새 이미지에 다른 Kubernetes 버전이 필요하지 않은 경우에만 작동합니다. 현재 AKS Arc는 지원되는 모든 Kubernetes 버전에서 노드 이미지 전용 업데이트를 지원하지 않습니다. 노드 이미지를 업데이트해야 하는 경우 클러스터를 최신 Kubernetes 버전으로 업그레이드하여 모든 노드 이미지 업데이트가 통합되도록 해야 합니다.

중요

플래그를 사용 node-image-only 하려고 하면 이 기능이 아직 지원되지 않음을 나타내는 메시지가 표시됩니다.

다음 단계