Udostępnij za pośrednictwem


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

Usługa Azure Kubernetes Service (AKS) regularnie udostępnia nowe obrazy węzłów, 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 systemu Windows są aktualizowane co miesiąc. Ogłoszenia o uaktualnieniu obrazów są uwzględniane w informacjach o wersji usługi AKS i wdrożenie tych aktualizacji we wszystkich regionach może potrwać do tygodnia. 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.

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 uaktualniania wersji rozwiązania Kubernetes dla klastra, zobacz Uaktualnianie klastra usługi AKS.

Uwaga

Klaster usługi AKS musi używać zestawów skalowania maszyn wirtualnych dla węzłów.

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

Sprawdzenia dostępnych uaktualnień obrazu węzła

  1. Sprawdź dostępne uaktualnienia obrazu węzła az aks nodepool get-upgrades przy użyciu polecenia .

    az aks nodepool get-upgrades \
        --nodepool-name <node-pool-name> \
        --cluster-name <cluster-name> \
        --resource-group <resource-group>
    
  2. W danych wyjściowych znajdź i zanotuj latestNodeImageVersion 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, aby porównać najnowszą wersję przy użyciu az aks nodepool show polecenia .

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --query nodeImageVersion
    
  4. nodeImageVersion Jeśli wartość różni się od latestNodeImageVersionwartości , możesz uaktualnić obraz węzła.

Uaktualnianie wszystkich obrazów węzłów we wszystkich pulach węzłów

  1. Uaktualnij wszystkie obrazy węzłów we wszystkich pulach węzłów w klastrze przy użyciu az aks upgrade polecenia z flagą --node-image-only .

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

    Uwaga

    To polecenie może się nieco różnić w zależności od używanej powłoki. Aby uzyskać więcej informacji na temat środowisk systemu Windows i programu PowerShell, zobacz dokumentację narzędzia 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 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 <resource-group> \
        --name <cluster-name>
    

Uaktualnianie określonej puli węzłów

  1. Zaktualizuj obraz systemu operacyjnego puli węzłów bez wykonywania uaktualnienia klastra Kubernetes przy użyciu az aks nodepool upgrade polecenia z flagą --node-image-only .

    az aks nodepool upgrade \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-image-only
    
  2. Stan obrazów węzłów można sprawdzić za kubectl get nodes pomocą polecenia .

    Uwaga

    To polecenie może się nieco różnić w zależności od używanej powłoki. Aby uzyskać więcej informacji na temat środowisk systemu Windows i programu PowerShell, zobacz dokumentację narzędzia 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 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 <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Uaktualnianie obrazów węzłów za pomocą skoku 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 za pomocą operacji wzrostu węzła za pomocą az aks nodepool update polecenia z --max-surge flagą , aby skonfigurować liczbę węzłów używanych do uaktualniania.

    Uwaga

    Aby dowiedzieć się więcej o kompromisach różnych --max-surge ustawień, zobacz Dostosowywanie uaktualniania skoków węzłów.

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. Stan obrazów węzłów można sprawdzić za kubectl get nodes pomocą polecenia .

    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 elementu az aks nodepool show , 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 <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Następne kroki