Dela via


Nodbilduppdateringar för automatisk etablering av noder (NAP) i Azure Kubernetes Service (AKS)

Den här artikeln innehåller en översikt över nodbilduppdateringar för automatisk etablering av noder (NAP) i Azure Kubernetes Service (AKS), inklusive hur det fungerar, rekommenderade underhållsperioder och exempel för att komma igång.

Hur fungerar uppdateringar av nodbilden för automatiskt etablerade noder?

Som standard uppdateras virtuella datorer i NAP-nodpoolen automatiskt när en ny avbildningsversion är tillgänglig. Du kan konfigurera ett underhållsfönster för uppgraderingsschema för AKS-hanterade nodoperativsystem (OS) för att styra när nya avbildningar hämtas och tillämpas på dina NAP-noder eller använda Karpenter Node Disruption Budgets och Pod Disruption Budgets för att styra hur och när avbrott inträffar under uppgraderingar.

Anmärkning

NAP tvingar den senaste avbildningsversionen att hämtas om den befintliga nodbildversionen är äldre än 90 dagar. Detta kringgår alla befintliga underhållsperioder.

Underhållsperioder för node OS-uppgradering för NAP

Du kan använda funktionen för planerat underhåll av AKS med en kanal för automatisk uppgradering av nodoperativsystem för att konfigurera ett aksManagedNodeOSUpgradeSchedule underhållsfönster som styr när nodoperativsystemets säkerhetskorrigering ska utföras, som planerats av din valda kanal för automatisk uppgradering av nodoperativsystemet.

Beteende och överväganden vid underhållsfönster för uppgradering av nodens operativsystem

Tänk på följande när du konfigurerar en underhållsfönster för uppgradering av nodoperativsystem för NAP:

  • Underhållskonfigurationen aksManagedNodeOSUpgradeSchedule avgör under vilket fönster NAP hämtar en ny avbildning. Den här konfigurationen avgör inte nödvändigtvis när befintliga noder avbryts.
  • Uppgraderingsmekanismen och beslutskriterierna är specifika för NAP/Karpenter och utvärderas av NAP:s driftlogik. NAP respekterar Karpenter-nodavbrottsbudgetar och poddavbrottsbudgetar. Mer information om drift finns i Karpenter drift-dokumentationen.
  • Dessa NAP-uppgraderingsbeslut är separata från klustret NodeImage och SecurityPatch kanalerna. Underhållskonfigurationen aksManagedNodeOSUpgradeSchedule tillämpar dem dock också.
  • Vi rekommenderar att du använder ett underhållsperiod på fyra timmar eller mer för tillförlitlig drift.
  • Om det inte finns någon underhållskonfiguration kan AKS använda ett återställningsschema för att hämta nya avbildningar, vilket kan leda till att avbildningar hämtas vid oväntade tidpunkter. Du kan undvika oväntade tidpunkter för nya bilder och uppgraderingar genom att definiera en explicit aksManagedNodeOSUpgradeSchedule.
  • Tillåt minst 30 minuter mellan att skapa eller uppdatera en underhållskonfiguration och den schemalagda starttiden för att säkerställa att AKS har tid att stämma av den nya konfigurationen.

Vi rekommenderar följande schemamönster för NAP-hanterade noder:

  • Veckovis takt: Rekommenderas för utrullning av rutinmässiga nodbilder (till exempel : Varje vecka på söndag).

Skapa ett exempel på ett schema för nodoperativsystemunderhåll

Följande avsnitt visar hur du skapar en veckovis underhållsperiod för NAP-hanterade noder med hjälp av Azure CLI och en JSON-konfigurationsfil och hur du uppdaterar, visar, listar och tar bort underhållskonfigurationen.

Skapa en underhållskonfiguration

  1. Skapa en JSON-fil med namnet nodeosMaintenance.json med ett veckovis underhållsperiod (till exempel söndag kl. 01:00 UTC i 4 timmar).

    {
      "properties": {
        "maintenanceWindow": {
          "durationHours": 4,
          "schedule": {
            "weekly": {
              "intervalWeeks": 1,
              "dayOfWeek": "Sunday"
            }
          },
          "startDate": "2025-01-01",
          "startTime": "01:00",
          "utcOffset": "+00:00"
        }
      }
    }
    
  2. Lägg till underhållskonfigurationen i klustret med kommandot az aks maintenanceconfiguration add .

    az aks maintenanceconfiguration add \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    

Uppdatera, visa, lista eller ta bort en underhållskonfiguration

Du kan använda följande kommandon för att uppdatera, visa, lista eller ta bort en underhållskonfiguration för NAP-hanterade noder:

  • Uppdatera en underhållskonfiguration genom att ändra JSON-filen och sedan köra az aks maintenanceconfiguration update kommandot.

    az aks maintenanceconfiguration update \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    
  • Visa information om en underhållskonfiguration med hjälp av az aks maintenanceconfiguration show kommandot .

    az aks maintenanceconfiguration show \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule
    
  • Visa en lista över alla underhållskonfigurationer för klustret med kommandot az aks maintenanceconfiguration list .

    az aks maintenanceconfiguration list \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME
    
  • Ta bort en underhållskonfiguration med kommandot az aks maintenanceconfiguration delete .

    az aks maintenanceconfiguration delete \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule
    

Fullständig information, exempel och avancerade scenarier finns i Använda planerat underhåll för att schemalägga underhållsperioder för ditt AKS-kluster.

Budgetar för Karpenter-nodstörningar och Pod-störningsbudgetar för NAP

För mer information om hur du konfigurerar Karpenter Node Disruption Budgets och Pod Disruption Budgets för NAP finns i följande resurser från den officiella Karpenterdokumentationen:

Nästa steg

Mer information om automatisk nodetablering i AKS finns i följande artiklar: