Knooppuntonderbrekingsbeleid configureren in Azure Kubernetes Service (AKS) (preview)

In dit artikel leest u hoe u Node Disruption Policy configureert en beheert om te bepalen wanneer bewerkingen die het opnieuw imageen van knooppunten vereisen en een herimplementatie van knooppunten activeren, zijn toegestaan in uw Azure Kubernetes Service (AKS)-cluster.

Prerequisites

Important

AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'voor zover beschikbaar' en zijn uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Zodoende zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

aks-preview De Azure CLI-extensie installeren

  1. Installeer de aks-preview extensie met behulp van de az extension add opdracht.

    az extension add --name aks-preview
    
  2. Werk bij naar de nieuwste versie van de extensie met behulp van de az extension update opdracht.

    az extension update --name aks-preview
    

De preview-functie van het knooppuntonderbrekingsbeleid registreren

Registreer de preview-functie van nodeonderbrekingsbeleid met behulp van de az feature register opdracht.

az feature register --namespace "Microsoft. ContainerService" --name "NodeDisruptionProfile"

Het duurt enkele minuten voordat de status wordt weergegeven als Geregistreerd.

Knooppuntonderbrekingsbeleid configureren op een nieuw cluster

Maak een nieuw AKS-cluster met nodeonderbrekingsbeleid geconfigureerd met behulp van de az aks create opdracht met de --node-disruption-policy parameter ingesteld op een van de volgende beleidsconfiguraties: Allow (standaard), AllowDuringMaintenanceWindowof Block.

Verstorende bewerkingen op elk gewenst moment toestaan (standaard)

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

Storende bewerkingen alleen toestaan tijdens onderhoudsvensters

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

Important

Wanneer u AllowDuringMaintenanceWindow gebruikt, moet u een aksManagedNodeOSUpgradeSchedule onderhoudsvenster configureren. Anders zijn verstorende bewerkingen voor onbepaalde tijd toegestaan. Zie Gepland onderhoud gebruiken om upgrades voor uw Azure Kubernetes Service-cluster te plannen en te beheren voor meer informatie.

Alle verstorende bewerkingen blokkeren

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

Verstoringsbeleid voor nodes bijwerken op een bestaand cluster

Werk het knooppuntonderbrekingsbeleid op een bestaand AKS-cluster bij met behulp van de az aks update opdracht met de --node-disruption-policy parameter die is ingesteld op een van de volgende beleidsconfiguraties: Allow (standaard), AllowDuringMaintenanceWindowof Block.

Beleid wijzigen om bewerkingen toe te staan tijdens onderhoudsvensters

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

Beleid wijzigen om alle verstorende bewerkingen te blokkeren

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

Beleid weer wijzigen zodat bewerkingen op elk gewenst moment worden toegestaan

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

Configuratie van knooppuntonderbrekingsbeleid controleren

Controleer de configuratie van het knooppuntonderbrekingsbeleid met behulp van de az aks show opdracht.

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

In de uitvoer ziet u de huidige beleidsinstelling, zoals Allow, AllowDuringMaintenanceWindowof Block.

Geblokkeerde bewerkingen afhandelen

Wanneer het knooppuntonderbrekingsbeleid een verstorende bewerking blokkeert, kunt u wachten op het onderhoudsvenster of het beleid tijdelijk wijzigen.

Wachten op het onderhoudsvenster

Als u AllowDuringMaintenanceWindow gebruikt, plant u de uitvoering tijdens het volgende onderhoudsvenster. U kunt de geconfigureerde onderhoudsvensters weergeven met behulp van de az aks maintenanceconfiguration list opdracht.

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

Het beleid tijdelijk wijzigen

  1. Werk het beleid bij naar Allow met de opdracht az aks update, waarbij --node-disruption-policy is ingesteld op Allow.

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-disruption-policy Allow
    
  2. Voer uw verstorende handeling uit. In het volgende voorbeeld worden de aangepaste CA-certificaten bijgewerkt met behulp van de az aks update opdracht:

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --custom-ca-trust-certificates <path-to-certificate-file>
    
  3. Herstel het oorspronkelijke beleid met behulp van de az aks update opdracht. In het volgende voorbeeld wordt --node-disruption-policy hersteld naar Block:

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

Bewerkingen waarvoor handmatige upgrade van knooppuntgroepen is vereist

Voor sommige bewerkingen die Node Disruption Policy niet beheert, is na eventuele configuratiewijzigingen een handmatige upgrade van de knooppuntgroep vereist. Deze bewerkingen omvatten:

  • SSH-configuratiewijzigingen, zoals het wijzigen van SSH-toegangsmethoden of het bijwerken van openbare SSH-sleutels.
  • IMDS-beperkingswijzigingen, zoals het in- of uitschakelen van IMDS-beperking.
  • Wijzigingen in de ACR-naam van het bootstrapprofiel voor netwerkgeïsoleerde clusters.
  • Wijzigingen in het type voor uitgaand verkeer, zoals het wijzigen van de egress-routering van clusters.

Voor deze bewerkingen moet u de az aks nodepool upgrade opdracht handmatig uitvoeren nadat u de configuratiewijziging hebt aangebracht. Voorbeeld:

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

Zie het overzicht van het knooppuntonderbrekingsbeleid voor meer informatie over bewerkingen die worden gedekt door nodeonderbrekingsbeleid.

Problemen met knooppuntonderbrekingsbeleid oplossen

Bewerking onverwacht geblokkeerd

Als een bewerking onverwacht wordt geblokkeerd, gebruikt u de volgende stappen om het probleem op te lossen:

  1. Controleer de huidige beleidsinstelling met behulp van de az aks show opdracht.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query "nodeDisruptionProfile.nodeDisruptionPolicy" \
        --output tsv
    
  2. Als u gebruikmaakt AllowDuringMaintenanceWindow, controleert u de configuratie van het onderhoudsvenster met behulp van de az aks maintenanceconfiguration show opdracht.

    az aks maintenanceconfiguration show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name aksManagedNodeOSUpgradeSchedule
    
  3. Controleer of de huidige tijd binnen het onderhoudsvenster valt.

Geen onderhoudsvenster geconfigureerd

Als u het beleid instelt op AllowDuringMaintenanceWindow maar geen onderhoudsvenster configureert, zijn alle verstorende bewerkingen toegestaan.

Configureer een onderhoudsvenster met behulp van de az aks maintenanceconfiguration add opdracht.

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