다음을 통해 공유


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

적용 대상: Azure Local, 버전 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"  
}

Important

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

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

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

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

Important

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

다음 단계