Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du konfigurerar och hanterar Node Disruption Policy för att styra när åtgärder som kräver omavbildning av noder och utlöser omdistribuering av noder tillåts i ditt Azure Kubernetes Service-kluster (AKS).
Förutsättningar
- Gå igenom översikten över nodstörningar och lär dig hur nodstörningar fungerar och vilka åtgärder som omfattas av nodstörningar.
- Azure CLI version 2.76.0 eller senare installerad och konfigurerad. Kör
az --version-kommandot för att hitta din CLI-version. Om du behöver installera eller uppgradera, se Installera Azure CLI. - Ett befintligt AKS-kluster, eller så kan du skapa ett nytt med nodavbrottsprincipen konfigurerad.
-
Installera
aks-previewAzure CLI-tillägget och registrera förhandsversionsfunktionen Node Disruption Policy.
Important
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Installera tillägget aks-preview Azure CLI
aks-previewInstallera tillägget med kommandotaz extension add.az extension add --name aks-previewUppdatera till den senaste versionen av tillägget med kommandot
az extension update.az extension update --name aks-preview
Registrera förhandsgranskningsfunktionen för nodstörningsprincip
Registrera förhandsversionen av nodstörningsprincipen med hjälp av az feature register kommandot .
az feature register --namespace "Microsoft. ContainerService" --name "NodeDisruptionProfile"
Det tar några minuter innan statusen visas som Registrerad.
Konfigurera nodavbrottsprincip i ett nytt kluster
Skapa ett nytt AKS-kluster med Nodavbrottsprincip konfigurerad med kommandot az aks create med parametern --node-disruption-policy inställd på någon av följande principkonfigurationer: Allow (standard), eller .AllowDuringMaintenanceWindowBlock
Tillåt störande åtgärder när som helst (standard)
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Allow \
--generate-ssh-keys
Tillåt endast störande åtgärder under underhållsperioder
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy AllowDuringMaintenanceWindow \
--generate-ssh-keys
Important
När du använder AllowDuringMaintenanceWindow, se till att du konfigurerar ett aksManagedNodeOSUpgradeSchedule underhållsfönster. Annars tillåts störande åtgärder på obestämd tid. Mer information finns i Använda planerat underhåll för att schemalägga och kontrollera uppgraderingar för ditt Azure Kubernetes Service kluster.
Blockera alla störande åtgärder
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Block \
--generate-ssh-keys
Uppdatera nodavbrottsprincip i ett befintligt kluster
Uppdatera nodavbrottsprincipen i ett befintligt AKS-kluster med kommandot az aks update med parametern --node-disruption-policy inställd på någon av följande principkonfigurationer: Allow (standard), AllowDuringMaintenanceWindoweller Block.
Ändra princip för att tillåta åtgärder under underhållsperioder
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy AllowDuringMaintenanceWindow
Ändra princip för att blockera alla störande åtgärder
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Block
Ändra tillbaka principen för att tillåta åtgärder när som helst
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Allow
Kontrollera konfigurationen för principen för nodstörningar
Verifiera konfigurationen för Node Disruption Policy med kommandot az aks show.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster \
--query "nodeDisruptionProfile.nodeDisruptionPolicy" \
--output tsv
Utdata visar den aktuella principinställningen, till exempel Allow, AllowDuringMaintenanceWindoweller Block.
Hantera blockerade åtgärder
När nodavbrottsprincipen blockerar en störande åtgärd kan du vänta till underhållsfönstret eller tillfälligt ändra principen.
Vänta till underhållsfönstret
Om du använder AllowDuringMaintenanceWindowschemalägger du åtgärden så att den utförs under nästa underhållsfönster. Du kan visa dina konfigurerade underhållsfönster med kommandot az aks maintenanceconfiguration list.
az aks maintenanceconfiguration list \
--resource-group myResourceGroup \
--cluster-name myAKSCluster
Ändra principen tillfälligt
Uppdatera principen till
Allowmed kommandotaz aks updatemed--node-disruption-policyinställt påAllow.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy AllowUtför din störningsoperation. I följande exempel uppdateras de anpassade CA-certifikaten
az aks updatemed hjälp av kommandot :az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --custom-ca-trust-certificates <path-to-certificate-file>Återställ den ursprungliga policyn genom att använda kommandot
az aks update. Följande exempel återställer--node-disruption-policytillBlock:az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy Block
Åtgärder som kräver manuell uppgradering av nodpool
Vissa åtgärder som Node Disruption Policy inte styr kräver en manuell uppgradering av nodpoolen efter eventuella konfigurationsändringar. Dessa åtgärder omfattar följande:
- SSH-konfigurationsändringar, till exempel ändring av SSH-åtkomstmetoder eller uppdatering av offentliga SSH-nycklar.
- Ändringar av IMDS-begränsningar, till exempel aktivering eller inaktivering av IMDS-begränsning.
- Ändringar av ACR-namn för bootstrap-profil för nätverksisolerade kluster.
- Ändringar av utgående typ, till exempel ändring av utgående routning för kluster.
För dessa åtgärder måste du köra az aks nodepool upgrade kommandot manuellt när du har gjort konfigurationsändringen. Ett exempel:
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name <nodepool-name> \
--node-image-only
Mer information om åtgärder som omfattas av nodstörningar finns i översikten över nodstörningar.
Felsöka problem med Node Disruption Policy
Åtgärden blockerades oväntat
Om en åtgärd oväntat blockeras använder du följande steg för att felsöka problemet:
Kontrollera den aktuella principinställningen
az aks showmed hjälp av kommandot .az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query "nodeDisruptionProfile.nodeDisruptionPolicy" \ --output tsvOm du använder
AllowDuringMaintenanceWindow, kontrollera konfigurationen för underhållsfönstret med kommandotaz aks maintenanceconfiguration show.az aks maintenanceconfiguration show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name aksManagedNodeOSUpgradeScheduleKontrollera om den aktuella tiden ligger inom underhållsfönstret.
Inget underhållsfönster har konfigurerats
Om du anger principen till AllowDuringMaintenanceWindow men inte konfigurerar ett underhållsfönster tillåts alla störande åtgärder.
Konfigurera ett underhållsfönster med hjälp av kommandot az aks maintenanceconfiguration add.
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