다음을 통해 공유


AKS(Azure Kubernetes Service) 노드 이미지

AKS(Azure Kubernetes Service)는 정기적으로 새 노드 이미지를 제공하므로 최신 AKS 기능을 사용하기 위해 노드 이미지를 자주 업그레이드하는 것이 좋습니다. Linux 노드 이미지는 매주 업데이트되고 Windows 노드 이미지는 매월 업데이트됩니다. 이미지 업그레이드 알림은 AKS 릴리스 정보에 포함되며, 이러한 업데이트가 모든 지역에서 출시되는 데 최대 1주일이 걸릴 수 있습니다. 노드 이미지 업그레이드는 자동으로 수행되고 계획된 유지 관리를 사용하여 예약될 수도 있습니다. 자세한 내용은 노드 이미지 자동 업그레이드를 참조하세요.

이 문서에서는 AKS 클러스터 노드 이미지를 업그레이드하는 방법 및 Kubernetes 버전을 업그레이드하지 않고 노드 풀 이미지를 업데이트하는 방법을 보여 줍니다. 클러스터의 Kubernetes 버전을 업그레이드하는 방법에 대한 자세한 내용은 AKS 클러스터 업그레이드를 참조하세요.

참고 항목

AKS 클러스터는 노드에 대한 가상 머신 확장 집합을 사용해야 합니다.

노드 이미지 버전(예: AKSUbuntu-2204에서 AKSUbuntu-1804 또는 AKSUbuntu-2204-202308.01.0에서 AKSUbuntu-2204-202307.27.0)을 다운그레이드할 수 없습니다.

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

az aks nodepool get-upgrades 명령을 사용하여 사용 가능한 노드 이미지 업그레이드를 확인합니다.

az aks nodepool get-upgrades \
    --nodepool-name mynodepool \
    --cluster-name myAKSCluster \
    --resource-group myResourceGroup

출력은 다음 예제와 같이 latestNodeImageVersion을 표시합니다.

{
  "id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
  "kubernetesVersion": "1.17.11",
  "latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
  "name": "default",
  "osType": "Linux",
  "resourceGroup": "myResourceGroup",
  "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
  "upgrades": null
}

예제 출력은 AKSUbuntu-1604-2020.10.28latestNodeImageVersion으로 표시합니다.

az aks nodepool show 명령을 사용하여 현재 노드 이미지 버전과 최신 버전을 비교합니다.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --query nodeImageVersion

출력은 다음 예제와 비슷하게 표시됩니다.

"AKSUbuntu-1604-2020.10.08"

이 예제에는 AKSUbuntu-1604-2020.10.08 버전에서 AKSUbuntu-1604-2020.10.28 버전으로 사용 가능한 노드 이미지 버전 업그레이드가 있습니다.

모든 노드 풀에서 모든 노드 이미지 업그레이드

--node-image-only 플래그와 함께 az aks upgrade 명령을 사용하여 노드 이미지를 업그레이드합니다.

az aks upgrade \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-image-only

kubectl get nodes 명령을 사용하여 노드 이미지의 상태를 확인할 수 있습니다.

참고 항목

이 명령은 사용하는 셸에 따라 약간 다를 수 있습니다. Windows 및 PowerShell 환경에 대한 자세한 내용은 Kubernetes JSONPath 설명서를 참조하세요.

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

업그레이드가 완료되면 az aks show 명령을 사용하여 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

az aks show \
    --resource-group myResourceGroup \
    --name myAKSCluster

특정 노드 풀 업그레이드

Kubernetes 클러스터 업그레이드를 수행하지 않고 노드 풀의 OS 이미지를 업데이트하려면 --node-image-only 플래그와 함께 az aks nodepool upgrade 명령을 사용합니다.

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --node-image-only

kubectl get nodes 명령을 사용하여 노드 이미지의 상태를 확인할 수 있습니다.

참고 항목

이 명령은 사용하는 셸에 따라 약간 다를 수 있습니다. Windows 및 PowerShell 환경에 대한 자세한 내용은 Kubernetes JSONPath 설명서를 참조하세요.

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

업그레이드가 완료되면 az aks nodepool show 명령을 사용하여 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

노드 서지로 노드 이미지 업그레이드

노드 이미지 업그레이드 프로세스의 속도를 높이려면 사용자 지정 가능한 노드 서지 값을 사용하여 노드 이미지를 업그레이드할 수 있습니다. 기본값으로 AKS는 업그레이드를 구성하는 데 하나의 추가 노드를 사용합니다.

업그레이드 속도를 높이려면 --max-surge 플래그와 함께 az aks nodepool update 명령을 사용하여 업그레이드에 사용되는 노드 수를 구성합니다. 다양한 --max-surge 설정의 장단점에 대해 자세히 알아보려면 노드 서지 업그레이드 사용자 지정을 참조하세요.

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --max-surge 33% \
    --no-wait

kubectl get nodes 명령을 사용하여 노드 이미지의 상태를 확인할 수 있습니다.

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

az aks nodepool show를 사용하여 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

다음 단계