Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak skonfigurować zasady Node Disruption Policy i zarządzać nimi, aby kontrolować, kiedy w klastrze Azure Kubernetes Service (AKS) są dozwolone operacje wymagające ponownego utworzenia obrazu węzła i powodujące jego ponowne wdrożenie.
Wymagania wstępne
- Zapoznaj się z omówieniem zasad zakłóceń węzła , aby dowiedzieć się , jak działają zasady zakłóceń węzła i operacje objęte zasadami zakłóceń węzła.
- Interfejs wiersza polecenia platformy Azure w wersji 2.76.0 lub nowszej został zainstalowany i skonfigurowany. Aby znaleźć wersję interfejsu wiersza polecenia, uruchom polecenie
az --version. Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI. - Istniejący klaster AKS lub nowy klaster ze skonfigurowaną zasadą zakłóceń węzłów.
-
aks-previewZainstaluj rozszerzenie Azure CLI i zarejestruj funkcję zasad zakłóceń węzła w wersji zapoznawczej.
Ważna
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. 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 AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Zainstaluj rozszerzenie Azure CLI aks-preview
Zainstaluj rozszerzenie
aks-previewprzy użyciu poleceniaaz extension add.az extension add --name aks-previewPrzeprowadź aktualizację do najnowszej wersji rozszerzenia przy użyciu
az extension updatepolecenia .az extension update --name aks-preview
Zarejestruj funkcję zasad zakłóceń węzłów w wersji zapoznawczej
Zarejestruj funkcję wersji zapoznawczej Node Disruption Policy przy użyciu polecenia az feature register.
az feature register --namespace "Microsoft. ContainerService" --name "NodeDisruptionProfile"
Wyświetlenie stanu jako Zarejestrowane trwa kilka minut.
Konfigurowanie zasad zakłóceń węzła w nowym klastrze
Utwórz nowy klaster usługi AKS z zasadą zakłóceń węzłów skonfigurowaną za pomocą polecenia az aks create z parametrem --node-disruption-policy ustawionym na jedną z następujących konfiguracji: Allow (ustawienie domyślne), AllowDuringMaintenanceWindow lub Block.
Zezwalaj na operacje powodujące zakłócenia w dowolnym momencie (ustawienie domyślne)
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Allow \
--generate-ssh-keys
Zezwalaj na operacje powodujące zakłócenia tylko podczas okien konserwacyjnych
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy AllowDuringMaintenanceWindow \
--generate-ssh-keys
Ważna
Podczas korzystania z AllowDuringMaintenanceWindow, upewnij się, że skonfigurujesz okno konserwacji aksManagedNodeOSUpgradeSchedule. W przeciwnym razie operacje zakłócające są dozwolone na czas nieokreślony. Aby uzyskać więcej informacji, zobacz Planowanie i kontrolowanie uaktualnień klastra Azure Kubernetes Service za pomocą planowanej konserwacji.
Blokuj wszystkie operacje powodujące zakłócenia
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Block \
--generate-ssh-keys
Aktualizowanie zasady zakłóceń węzłów w istniejącym klastrze
Zaktualizuj zasady zakłócania działania węzłów w istniejącym klastrze AKS za pomocą polecenia az aks update z parametrem --node-disruption-policy ustawionym na jedną z następujących konfiguracji zasad: Allow (wartość domyślna), AllowDuringMaintenanceWindow lub Block.
Zmień zasady, aby zezwolić na operacje podczas okien konserwacji
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy AllowDuringMaintenanceWindow
Zmień zasady, aby blokować wszystkie operacje powodujące zakłócenia
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Block
Zmień zasady z powrotem, aby zezwolić na operacje w dowolnym momencie
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Allow
Zweryfikuj konfigurację zasad przerywania działania węzłów
Sprawdź konfigurację zasad zakłóceń węzłów za pomocą polecenia az aks show.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster \
--query "nodeDisruptionProfile.nodeDisruptionPolicy" \
--output tsv
Dane wyjściowe zawierają bieżące ustawienie zasad, takie jak Allow, AllowDuringMaintenanceWindowlub Block.
Obsługa zablokowanych operacji
Gdy zasada zakłóceń węzłów blokuje operację zakłócającą, możesz poczekać na okno serwisowe lub tymczasowo zmienić zasadę.
Poczekaj na okno konserwacyjne
Jeśli używasz AllowDuringMaintenanceWindow, zaplanuj wykonanie operacji podczas następnego okna konserwacyjnego. Skonfigurowane okna obsługi można wyświetlić przy użyciu az aks maintenanceconfiguration list polecenia .
az aks maintenanceconfiguration list \
--resource-group myResourceGroup \
--cluster-name myAKSCluster
Tymczasowo zmień zasady
Zaktualizuj politykę do
Allow, używając poleceniaaz aks updatez parametrem--node-disruption-policyustawionym naAllow.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy AllowWykonaj operację zakłócania działania. Poniższy przykład aktualizuje niestandardowe certyfikaty urzędu certyfikacji przy użyciu
az aks updatepolecenia :az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --custom-ca-trust-certificates <path-to-certificate-file>Przywróć oryginalne zasady przy użyciu
az aks updatepolecenia . Poniższy przykład przywraca element--node-disruption-policydo elementuBlock:az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy Block
Operacje wymagające ręcznego uaktualnienia puli węzłów na platformie Kubernetes w wersji 1.36 lub starszej
W systemie Kubernetes 1.37 lub nowszym zasady zakłóceń węzła obejmują następujące zmiany konfiguracji. Na platformie Kubernetes w wersji 1.36 lub starszej te zmiany wymagają ręcznego uaktualnienia puli węzłów:
- Zmiany konfiguracji SSH, takie jak zmiana metod dostępu SSH lub aktualizowanie kluczy publicznych SSH.
- Zmiany ograniczeń usługi IMDS, takie jak włączanie lub wyłączanie ograniczeń IMDS.
- Zmiany nazwy profilu bootstrap ACR dla klastrów odizolowanych od sieci.
- Zmiany typu ruchu wychodzącego, takie jak zmiana routingu ruchu wychodzącego klastra.
Na platformie Kubernetes 1.36 i starszych uruchom ręcznie az aks nodepool upgrade polecenie po wprowadzeniu zmiany konfiguracji. Przykład:
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name <nodepool-name> \
--node-image-only
Aby uzyskać więcej informacji na temat operacji objętych zasadami zakłóceń węzła, zobacz Omówienie zasad zakłóceń węzła.
Rozwiązywanie problemów z zasadami zakłócania węzłów
Operacja zablokowana nieoczekiwanie
Jeśli operacja zostanie nieoczekiwanie zablokowana, wykonaj następujące kroki, aby rozwiązać problem:
Sprawdź bieżące ustawienie zasad przy użyciu
az aks showpolecenia .az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query "nodeDisruptionProfile.nodeDisruptionPolicy" \ --output tsvJeśli używasz
AllowDuringMaintenanceWindow, sprawdź konfigurację okna konserwacji za pomocą poleceniaaz aks maintenanceconfiguration show.az aks maintenanceconfiguration show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name aksManagedNodeOSUpgradeScheduleSprawdź, czy aktualny czas mieści się w oknie konserwacyjnym.
Nie skonfigurowano okna konserwacji
Jeśli ustawisz zasadę na AllowDuringMaintenanceWindow, ale nie skonfigurujesz okna konserwacji, wszystkie operacje powodujące zakłócenia będą dozwolone.
Skonfiguruj okno obsługi przy użyciu az aks maintenanceconfiguration add polecenia .
az aks maintenanceconfiguration add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name aksManagedNodeOSUpgradeSchedule \
--schedule-type Weekly \
--day-of-week Sunday \
--interval-weeks 1 \
--duration 4 \
--start-hour 2