Uaktualnianie obrazów węzłów usługi Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) regularnie udostępnia nowe obrazy węzłów, dlatego często uaktualnij obrazy węzłów, aby używać najnowszych funkcji usługi AKS. Obrazy węzłów systemu Linux są aktualizowane co tydzień, a obrazy węzłów Windows są aktualizowane co miesiąc. Informacje o wersji usługi AKS zawierają anonse dotyczące uaktualniania obrazów. Wdrożenie tych aktualizacji we wszystkich regionach może potrwać do dwóch tygodni. Zobacz monitor wdrożenia, aby sprawdzić stan wdrożenia. Można również automatycznie przeprowadzać aktualizacje obrazów węzłów oraz planować je przy użyciu funkcji planowanej konserwacji. Aby uzyskać więcej informacji, zobacz Automatyczne uaktualnianie obrazów systemu operacyjnego węzła.

AKS zaleca kanały automatycznego uaktualniania systemu operacyjnego węzłów, które automatycznie uaktualniają obrazy węzłów lub instalują poprawki zabezpieczeń w oknach serwisowych bez zmiany wersji Kubernetes. Jeśli chcesz ręcznie uaktualnić obrazy węzłów, postępuj zgodnie z instrukcjami w tym artykule. W tym artykule pokazano, jak uaktualnić obrazy węzłów klastra usługi AKS i jak zaktualizować obrazy puli węzłów bez uaktualniania wersji rozwiązania Kubernetes. Aby uzyskać informacje na temat aktualizowania wersji Kubernetes dla klastra, zobacz Aktualizowanie klastra AKS.

Important

Począwszy od 30 listopada 2025 r., usługa Azure Kubernetes Service (AKS) nie obsługuje już ani nie zapewnia aktualizacji zabezpieczeń dla systemu Azure Linux 2.0. Obraz węzła systemu Azure Linux 2.0 jest zamrożony w wydaniu202512.06.0. Od 31 października 2026 r. obrazy węzłów zostaną usunięte i nie będzie można skalować pul węzłów. Przeprowadź migrację do obsługiwanej wersji systemu Azure Linux, aktualizując pule węzłów do obsługiwanej wersji Kubernetes lub migrując do osSku AzureLinux3. Aby uzyskać więcej informacji, zapoznaj się z zgłoszeniem dotyczącym wycofania na GitHubie i ogłoszeniem o wycofaniu aktualizacji platformy Azure. Aby być na bieżąco z ogłoszeniami i aktualizacjami, śledź notatki z wydania AKS.

Uwaga / Notatka

Klastry korzystające z automatycznego aprowizowania węzłów (NAP) automatycznie aktualizują obrazy węzłów, gdy dostępny jest nowy obraz. Możesz skonfigurować okno konserwacyjne, aby kontrolować, kiedy NAP pobiera nowy obraz systemu, ale to okno niekoniecznie określa, kiedy istniejące węzły są wyłączane z działania. Logika dryfu NAP, budżety zakłóceń węzłów Karpenter oraz budżety zakłóceń podów kontrolują, jak i kiedy dochodzi do zakłóceń. Aby uzyskać więcej informacji, zobacz Aktualizacje obrazu węzła dla NAP.

Nie można obniżyć wersji obrazu węzła (na przykład AKSUbuntu-2404 do AKSUbuntu-2204 lub AKSUbuntu-2404-202601.27.0 do AKSUbuntu-2404-202601.13.0).

Wymagania wstępne

  • Istniejący klaster usługi AKS i pula węzłów.
  • Zainstalowano Azure CLI i zalogowano się do konta Azure.
  • Uprawnienie do pobierania poświadczeń klastra oraz odczytu i aktualizacji klastra AKS i pul węzłów.
  • Powłoka powłoki Bash. W poleceniach w tym artykule zastosowano składnię zmiennych środowiskowych powłoki Bash.

Ustaw zmienne środowiskowe dla nazw grupy zasobów, klastra i puli węzłów, które zostaną użyte w kolejnych poleceniach:

export AKS_RESOURCE_GROUP="<resource-group-name>"
export AKS_CLUSTER="<cluster-name>"
export AKS_NODEPOOL="<node-pool-name>"

Nawiązywanie połączenia z klastrem usługi AKS

  1. Połącz się z klastrem AKS za pomocą polecenia az aks get-credentials.

    az aks get-credentials \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER
    

Sprawdź dostępne ulepszenia obrazu węzła

  1. Sprawdź dostępne uaktualnienia obrazu węzła za pomocą polecenia az aks nodepool get-upgrades.

    az aks nodepool get-upgrades \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. W danych wyjściowych znajdź i zanotuj wartość latestNodeImageVersion. Ta wartość to najnowsza wersja obrazu węzła dostępna dla puli węzłów.

  3. Sprawdź bieżącą wersję obrazu węzła i porównaj ją z najnowszą wersją, używając polecenia az aks nodepool show.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Jeśli nodeImageVersion wartość różni się od latestNodeImageVersion, możesz zaktualizować obraz węzła.

Zaktualizuj wszystkie obrazy węzłów we wszystkich pulach węzłów

  1. Zaktualizuj wszystkie obrazy węzłów we wszystkich pulach węzłów w swoim klastrze, używając polecenia az aks upgrade z flagą --node-image-only.

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. Stan obrazów węzłów można sprawdzić za pomocą kubectl get nodes polecenia .

    Uwaga / Notatka

    To polecenie może się nieco różnić w zależności od powłoki, której używasz. Aby uzyskać więcej informacji na temat środowisk Windows i programu PowerShell, zobacz dokumentację Kubernetes JSONPath. To polecenie wyświetla listę nazw każdego węzła wraz z wartością kubernetes.azure.com/node-image-version etykiety, która identyfikuje bieżącą wersję obrazu węzła.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Po zakończeniu uaktualniania użyj az aks show polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion.

    az aks show \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER  \
        --query "agentPoolProfiles[].{Name:name, NodeImageVersion:nodeImageVersion}"
    

Zaktualizować określoną pulę węzłów

  1. Zaktualizuj obraz systemu operacyjnego w puli węzłów bez konieczności wykonywania uaktualnienia klastra Kubernetes, używając polecenia az aks nodepool upgrade z flagą --node-image-only.

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. Za pomocą polecenia kubectl get nodes można sprawdzić stan obrazów węzłów.

    Uwaga / Notatka

    To polecenie może się nieco różnić w zależności od powłoki, której używasz. Aby uzyskać więcej informacji na temat środowisk Windows i programu PowerShell, zobacz dokumentację Kubernetes JSONPath. To polecenie wyświetla listę nazw każdego węzła wraz z wartością kubernetes.azure.com/node-image-version etykiety, która identyfikuje bieżącą wersję obrazu węzła.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Po zakończeniu uaktualniania użyj az aks nodepool show polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    

Aktualizacja obrazów węzłów przy użyciu wzrostu wydajności węzła

Ta procedura powoduje uaktualnienie obrazu węzła dla określonej puli węzłów, a nie wszystkich pul węzłów w klastrze. Domyślnie usługa AKS używa jednego dodatkowego węzła do konfigurowania uaktualnień. Aby przyspieszyć proces uaktualniania obrazu węzła, uaktualnij obrazy węzłów przy użyciu dostosowywalnej wartości wzrostu węzła.

  1. Skonfiguruj liczbę węzłów nadmiarowych dla puli węzłów za pomocą polecenia az aks nodepool update z flagą --max-surge. To ustawienie jest utrwalane w przypadku kolejnych uaktualnień.

    Uwaga / Notatka

    Aby dowiedzieć się więcej o kompromisach związanych z różnymi --max-surge ustawieniami, zobacz Dostosowywanie aktualizacji wzrostów węzłów.

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33%
    
  2. Zaktualizuj obraz węzła za pomocą polecenia az aks nodepool upgrade z flagą --node-image-only.

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  3. Za pomocą polecenia kubectl get nodes można sprawdzić stan obrazów węzłów. To polecenie wyświetla listę nazw każdego węzła wraz z wartością kubernetes.azure.com/node-image-version etykiety, która identyfikuje bieżącą wersję obrazu węzła.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  4. Pobierz zaktualizowane szczegóły puli węzłów przy użyciu az aks nodepool show polecenia . Bieżący obraz węzła jest pokazywany we właściwości nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion