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 wersji , aby uzyskać informacje o stanie wdrożenia. Można również automatycznie przeprowadzać uaktualnienia obrazów węzłów i planować je przy użyciu planowanej konserwacji. Aby uzyskać więcej informacji, zobacz Automatyczne uaktualnianie obrazów systemu operacyjnego węzła.

Usługa AKS zaleca automatyczne uaktualnianie kanałów systemu operacyjnego węzła, które automatycznie uaktualniają obrazy węzłów lub stosują poprawki zabezpieczeń w oknach konserwacji bez zmiany wersji rozwiązania 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 Linux 2.0 platformy Azure został zamrożony w wersji 202512.06.0. Od 31 marca 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 automatycznej aprowizacji węzła (NAP) automatycznie aktualizują obrazy węzłów, gdy jest dostępny nowy obraz. Okno obsługi można skonfigurować tak, aby kontrolować, kiedy ochrona dostępu do sieci pobiera nowy obraz, ale okno nie musi określać, kiedy istniejące węzły są zakłócane. Logika dryfu ochrony dostępu do sieci, Budżety zakłóceń węzłów Karpenter i Budżety zakłóceń zasobników kontrolują, jak i kiedy występują zakłócenia. Aby uzyskać więcej informacji, zobacz Aktualizacje obrazu węzła dla ochrony dostępu do sieci.

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 i odczytywania i aktualizowania pul klastra i węzłów usługi AKS.
  • Powłoka powłoki Bash. Polecenia w tym artykule używają składni zmiennej środowiskowej powłoki Bash.

Ustaw zmienne środowiskowe dla nazwy grupy zasobów, klastra i puli węzłów, które mają być używane 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 przepięcia dla puli węzłów przy użyciu az aks nodepool update polecenia 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. Uaktualnij obraz węzła przy użyciu az aks nodepool upgrade polecenia 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