Udostępnij za pośrednictwem


Automatyzowanie uaktualnień obrazów platformy Kubernetes i węzłów w wielu klastrach przy użyciu usługi Azure Kubernetes Fleet Manager (wersja zapoznawcza)

Administratorzy platformy zarządzający dużą liczbą klastrów często mają problemy z przemieszczaniem aktualizacji wielu klastrów (na przykład uaktualnianie obrazu systemu operacyjnego węzła lub wersji platformy Kubernetes) w bezpieczny i przewidywalny sposób. Aby rozwiązać to wyzwanie, usługa Azure Kubernetes Fleet Manager (Fleet) umożliwia organizowanie aktualizacji w wielu klastrach przy użyciu przebiegów aktualizacji.

Przebiegi aktualizacji składają się z etapów, grup i strategii i można je stosować ręcznie, w przypadku aktualizacji jednorazowych lub automatycznie, w przypadku bieżących regularnych aktualizacji przy użyciu profilów automatycznego uaktualniania. Wszystkie przebiegi aktualizacji (ręczne lub zautomatyzowane) honorowe okna obsługi klastra członkowskiego.

W tym artykule opisano, jak używać profilów automatycznego uaktualniania do automatycznego wyzwalania przebiegów aktualizacji po udostępnieniu nowych wersji obrazów platformy Kubernetes lub węzła.

Ważne

Funkcje usługi Azure Kubernetes Fleet Manager w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi Azure Kubernetes Fleet Manager są częściowo objęte pomocą techniczną w oparciu o najlepsze nakłady pracy. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego.

Wymagania wstępne

  • Zapoznaj się z koncepcyjnym omówieniem profilów automatycznego uaktualniania, który zawiera wyjaśnienie konfiguracji, do których odwołuje się ten przewodnik.

  • Musisz mieć zasób Fleet z co najmniej jednym klastrem członkowskim. Jeśli nie, postępuj zgodnie z przewodnikiem Szybki start , aby utworzyć zasób Fleet i dołączyć do klastrów usługi Azure Kubernetes Service (AKS) jako członków.

  • Jeśli chcesz użyć strategii aktualizacji, należy je skonfigurować, korzystając z instrukcji w artykule z instrukcjami dotyczącymi uruchamiania aktualizacji. Identyfikator zasobu strategii aktualizacji jest potrzebny do użycia z profilem automatycznego uaktualniania.

  • Ustaw następujące zmienne środowiskowe:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<ask-cluster-name>
    
  • Potrzebny jest interfejs wiersza polecenia platformy Azure w wersji 2.61.0 lub nowszej. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

  • Wymagane jest również rozszerzenie interfejsu wiersza polecenia platformy fleet Azure w wersji 1.3.0 lub nowszej, które można zainstalować, uruchamiając następujące polecenie:

    az extension add --name fleet
    

    Uruchom następujące polecenie, aby zaktualizować do najnowszej wersji wydanego rozszerzenia:

    az extension update --name fleet
    

Uwaga

Automatyczne uaktualnianie wyzwolonych aktualizacji obsługuje okna planowanej konserwacji ustawione na poziomie klastra usługi AKS. Aby uzyskać więcej informacji, zobacz planowaną konserwację w wielu klastrach członkowskich, w którym wyjaśniono, w jaki sposób przebiegi aktualizacji obsługują klastry członkowskie, które zostały skonfigurowane z zaplanowanymi oknami obsługi.

Tworzenie profilów automatycznego uaktualniania

az fleet autoupgradeprofile create Użyj polecenia , aby utworzyć profile, jak pokazano poniżej.

Profil wyłączonego automatycznego uaktualniania można utworzyć, przekazując --disabled argument podczas korzystania z create polecenia . Aby włączyć profil automatycznego uaktualniania, należy ponownie uruchomić całe create polecenie i pominąć --disabled argument.

Stabilne aktualizacje platformy Kubernetes kanału

Zaktualizuj do najnowszej obsługiwanej wersji poprawki Kubernetes w wersji pomocniczej N-1, gdzie N jest najnowszą obsługiwaną wersją pomocniczą.

Aktualizuj klastry składowe sekwencyjnie jeden po jednym.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji, zapewniając, że ta sama wersja obrazu węzła jest używana w każdym regionie świadczenia usługi Azure. Wszystkie klastry członkowskie będą uruchamiać tę samą wersję obrazu węzła.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection-type Consistent

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji przy użyciu najnowszej dostępnej wersji obrazu węzła dla każdego regionu świadczenia usługi Azure. Klastry członkowskie mogą uruchamiać wiele wersji obrazu węzła.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection-type Latest

Aktualizacje obrazu węzła

Zaktualizuj węzły przy użyciu nowo poprawionego wirtualnego dysku twardego zawierającego poprawki zabezpieczeń i poprawki błędów.

Zaktualizuj obrazy węzłów dla klastrów członkowskich, przetwarzając klastry sekwencyjnie jeden po jednym.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Aktualizowanie obrazów węzłów dla klastrów członkowskich, przetwarzanie klastrów przy użyciu istniejącej strategii aktualizacji.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Wyświetlanie profilu automatycznego uaktualniania

Możesz użyć autoupgradeprofile list poleceń lub autoupgradeprofile show , aby wyświetlić profil automatycznego uaktualniania.

Wyświetl listę wszystkich profilów automatycznego uaktualniania dla floty.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET

Pokaż określony profil automatycznego uaktualniania dla floty.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Usuwanie profilu automatycznego uaktualniania

Użyj następującego polecenia, aby usunąć istniejący profil automatycznego uaktualniania. Zostanie wyświetlony monit o potwierdzenie usunięcia. Jeśli chcesz natychmiast usunąć profil, dołącz element --yes.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Weryfikowanie automatycznego uaktualniania

Automatyczne uaktualnienia będą wykonywane tylko wtedy, gdy zostaną udostępnione nowe obrazy kubernetes lub węzłów. Istniejące wersje można sprawdzić w następujący sposób.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Po zakończeniu przebiegów aktualizacji można ponownie uruchomić te polecenia i wyświetlić zaktualizowane wersje, które zostały wdrożone.