Konfigurace zásad přerušení uzlů v Azure Kubernetes Service (AKS) (Preview)

V tomto článku se dozvíte, jak nakonfigurovat a spravovat zásady přerušení uzlů, které řídí, kdy jsou ve vašem clusteru Azure Kubernetes Service (AKS) povolené operace vyžadující opětovné vytvoření uzlu a opětovné nasazení uzlu.

Předpoklady

Important

Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "tak, jak jsou" a "dle dostupnosti" a jsou vyloučeny ze smluv o úrovni služeb a z omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

aks-preview Instalace rozšíření Azure CLI

  1. aks-preview Nainstalujte rozšíření pomocí az extension add příkazu.

    az extension add --name aks-preview
    
  2. Pomocí příkazu aktualizujte na nejnovější verzi rozšíření az extension update .

    az extension update --name aks-preview
    

Registrace funkce Zásady přerušení uzlu ve verzi Preview

Zaregistrujte funkci Zásady narušení uzlu ve verzi Preview pomocí příkazu az feature register.

az feature register --namespace "Microsoft. ContainerService – název NodeDisruptionProfile

Zobrazení stavu jako Zaregistrované trvá několik minut.

Konfigurace zásad přerušení uzlů v novém clusteru

Vytvořte nový cluster AKS se zásadami přerušení uzlů nakonfigurovanými pomocí az aks create příkazu s parametrem --node-disruption-policy nastaveným na jednu z následujících konfigurací zásad: Allow (výchozí), AllowDuringMaintenanceWindownebo Block.

Povolit rušivé operace kdykoli (výchozí)

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 3 \
    --node-disruption-policy Allow \
    --generate-ssh-keys

Povolit rušivé operace pouze během časových období údržby

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 3 \
    --node-disruption-policy AllowDuringMaintenanceWindow \
    --generate-ssh-keys

Important

Při použití AllowDuringMaintenanceWindowse ujistěte, že jste nakonfigurovali aksManagedNodeOSUpgradeSchedule časové období údržby. Konfigurace údržby může definovat plán přímo nebo propojit se sdíleným oknem údržby. V opačném případě jsou rušivé operace povoleny neomezeně dlouho. Další informace najdete v tématu Plánování a řízení upgradů clusteru Azure Kubernetes Service pomocí plánované údržby.

Blokování všech rušivých operací

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 3 \
    --node-disruption-policy Block \
    --generate-ssh-keys

Aktualizace zásad přerušení uzlů v existujícím clusteru

Aktualizujte zásady přerušení uzlu v existujícím clusteru AKS pomocí az aks update příkazu s parametrem --node-disruption-policy nastaveným na jednu z následujících konfigurací zásad: Allow (výchozí) AllowDuringMaintenanceWindownebo Block.

Změna zásad pro povolení operací během časových období údržby

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-disruption-policy AllowDuringMaintenanceWindow

Změna zásad pro blokování všech rušivých operací

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-disruption-policy Block

Změňte zásady zpět tak, aby umožňovaly provádět operace kdykoli

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-disruption-policy Allow

Ověření konfigurace zásad přerušení uzlů

Pomocí příkazu ověřte konfiguraci az aks show zásad přerušení uzlu.

az aks show \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --query "nodeDisruptionProfile.nodeDisruptionPolicy" \
    --output tsv

Výstup zobrazuje aktuální nastavení zásad, například Allow, AllowDuringMaintenanceWindownebo Block.

Zpracování blokovaných operací

Když zásada narušení uzlu zablokuje operaci narušující provoz, můžete počkat na okno údržby nebo dočasně změnit zásadu.

Počkejte na časové období údržby.

Pokud používáte AllowDuringMaintenanceWindow, naplánujte operaci během dalšího časového období údržby. Nakonfigurovaná časová období údržby můžete zobrazit pomocí az aks maintenanceconfiguration list příkazu.

az aks maintenanceconfiguration list \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster

Dočasné změny zásad

  1. Aktualizujte zásadu na Allow pomocí příkazu az aks update s parametrem --node-disruption-policy nastaveným na Allow.

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-disruption-policy Allow
    
  2. Proveďte narušující operaci. Následující příklad aktualizuje vlastní certifikáty certifikační autority pomocí az aks update příkazu:

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --custom-ca-trust-certificates <path-to-certificate-file>
    
  3. Obnovte původní zásadu pomocí příkazu az aks update. Následující příklad obnoví --node-disruption-policy do Block:

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-disruption-policy Block
    

Operace, které vyžadují ruční upgrade fondu uzlů v Kubernetes 1.36 a starších verzích

Zásady přerušení uzlů v Kubernetes 1.37 a novějších zahrnují následující změny konfigurace. V Kubernetes 1.36 a starších verzích vyžadují tyto změny upgrade fondu uzlů ručně:

  • Změny konfigurace SSH, například změna metod přístupu SSH nebo aktualizace veřejných klíčů SSH
  • Změny omezení IMDS, například povolení nebo zakázání omezení IMDS
  • Změny názvu ACR profilu bootstrap pro clustery izolované v síti
  • Změny typu odchozí komunikace, například změna odchozího směrování clusteru.

V Kubernetes 1.36 a starších verzích ručně spusťte az aks nodepool upgrade příkaz po provedení změny konfigurace. Příklady:

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name <nodepool-name> \
    --node-image-only

Další informace o operacích, na které se vztahují zásady přerušení uzlů, najdete v přehledu zásad přerušení uzlů.

Řešení potíží se zásadami přerušení uzlů

Operace se neočekávaně zablokovala

Pokud je operace neočekávaně blokovaná, při řešení tohoto problému postupujte následovně:

  1. Aktuální nastavení zásad zkontrolujte pomocí příkazu az aks show.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query "nodeDisruptionProfile.nodeDisruptionPolicy" \
        --output tsv
    
  2. Pokud používáte AllowDuringMaintenanceWindow, ověřte konfiguraci okna údržby pomocí příkazu az aks maintenanceconfiguration show.

    az aks maintenanceconfiguration show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name aksManagedNodeOSUpgradeSchedule
    
  3. Zkontrolujte, jestli aktuální čas spadá do časového období údržby.

Není nakonfigurované časové období údržby

Pokud zásadu nastavíte na AllowDuringMaintenanceWindow, ale nenakonfigurujete okno údržby, budou povoleny všechny rušivé operace.

Nakonfigurujte období údržby pomocí příkazu az aks maintenanceconfiguration add. Pokud chcete použít stejný plán napříč několika clustery, propojte aksManagedNodeOSUpgradeSchedule se sdíleným oknem údržby.

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-time 02:00