Udostępnij za pośrednictwem


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

Wdrażanie i eksplorowanie

Usługa Azure Kubernetes Service (AKS) regularnie udostępnia nowe obrazy węzłów node dlatego korzystne jest częste uaktualnianie obrazów węzłów w celu korzystania z 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. Ogłoszenia o uaktualnieniu obrazów są zawarte w informacjach o wersji AKS i wdrożenie tych aktualizacji we wszystkich regionach może potrwać do tygodnia. Zobacz tracker wersji, aby uzyskać informacje o statusie 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 węzłów.

Usługa AKS zaleca kanały automatycznych uaktualnień, które mogą automatycznie uaktualniać obrazy węzłów lub stosować poprawki zabezpieczeń podczas okna konserwacji. Jeśli chcesz ręcznie uaktualnić obrazy węzłów, możesz to zrobić, postępując 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.

Uwaga / Notatka

Klastry korzystające z automatycznej aprowizacji węzłów (NAP) mają obrazy węzłów automatycznie aktualizowane, gdy dostępny jest nowy obraz węzła domyślnie, co można również zaplanować w oknach obsługi. Aby uzyskać więcej informacji, odwiedź dokumentację aktualizacji obrazu węzła 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.

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

  1. Połącz się z klastrem AKS za pomocą polecenia .

    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 \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. W danych wyjściowych znajdź i zanotuj wartość . 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 \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Jeśli wartość różni się od , 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 z flagą .

    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ą 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.

    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 polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości .

    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 z flagą .

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

    Uwaga / Notatka

    Polecenie to może różnić się nieco 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.

    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 polecenia , aby uzyskać zaktualizowane szczegóły puli węzłów. Bieżący obraz węzła jest pokazywany we właściwości .

    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

Aby przyspieszyć proces uaktualniania obrazu węzła, możesz uaktualnić obrazy węzłów przy użyciu dostosowywanej wartości wzrostu węzła. Domyślnie usługa AKS używa jednego dodatkowego węzła do konfigurowania uaktualnień.

  1. Uaktualnij obrazy węzłów, wykorzystując funkcję wzrostu liczby węzłów za pomocą polecenia z flagą w celu skonfigurowania liczby węzłów używanych do uaktualnień.

    Uwaga / Notatka

    Aby dowiedzieć się więcej o kompromisach związanych z różnymi 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% \
        --no-wait
    
  2. Za pomocą polecenia można sprawdzić stan obrazów węzłów.

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

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

Dalsze kroki

  • Aby uzyskać informacje o najnowszych obrazach węzłów, zobacz informacje o wersji AKS.
  • Dowiedz się, jak uaktualnić wersję Kubernetes za pomocą Uaktualniania klastra AKS.
  • Automatycznie zastosuj uaktualnienia klastrów i puli węzłów przy użyciu GitHub Actions.
  • Dowiedz się więcej o wielu pulach węzłów z Tworzenie wielu pul węzłów.
  • Dowiedz się więcej o uaktualnianiu najlepszych rozwiązań za pomocą wskazówek dotyczących poprawek i uaktualniania usługi AKS.