다음을 통해 공유


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)을 다운그레이드할 수 없습니다.

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

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

    az aks nodepool get-upgrades \
        --nodepool-name <node-pool-name> \
        --cluster-name <cluster-name> \
        --resource-group <resource-group>
    
  2. 출력에서 값을 찾아 기록해 둡 latestNodeImageVersion 다. 이 값은 노드 풀에 사용할 수 있는 최신 노드 이미지 버전입니다.

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

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --query nodeImageVersion
    
  4. 값이 nodeImageVersion 다른 latestNodeImageVersion경우 노드 이미지를 업그레이드할 수 있습니다.

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

  1. 플래그가 --node-image-only 있는 명령을 사용하여 클러스터의 모든 노드 풀에 az aks upgrade 있는 모든 노드 이미지를 업그레이드합니다.

    az aks upgrade \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --node-image-only
    
  2. 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}'
    
  3. 업그레이드가 완료되면 명령을 사용하여 az aks show 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

    az aks show \
        --resource-group <resource-group> \
        --name <cluster-name>
    

특정 노드 풀 업그레이드

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

    az aks nodepool upgrade \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-image-only
    
  2. 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}'
    
  3. 업그레이드가 완료되면 명령을 사용하여 az aks nodepool show 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

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

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

  1. 플래그가 있는 --max-surge 명령을 사용하여 az aks nodepool update 노드 서지가 있는 노드 이미지를 업그레이드하여 업그레이드에 사용되는 노드 수를 구성합니다.

    참고 항목

    다양한 --max-surge 설정의 장단점에 대해 자세히 알아보려면 노드 서지 업그레이드 사용자 지정을 참조하세요.

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. kubectl get nodes 명령을 사용하여 노드 이미지의 상태를 확인할 수 있습니다.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. 업데이트된 노드 풀 세부 정보를 가져오는 방법을 사용하여 az aks nodepool show 업데이트된 노드 풀 세부 정보를 가져옵니다. 현재 노드 이미지는 nodeImageVersion 속성에서 볼 수 있습니다.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

다음 단계