Freigeben über


Planen und Steuern von Upgrades für Ihren Azure Kubernetes Service Cluster mithilfe geplanter Wartung

In diesem Artikel erfahren Sie, wie Sie geplante Wartungen verwenden, um Cluster- und Knotenimageupgrades in Azure Kubernetes Service (AKS) zu planen und zu steuern.

Regelmäßige Wartung wird auf Ihrem AKS-Cluster automatisch durchgeführt. Es gibt zwei Arten von Wartungsvorgängen:

Wenn Sie die Funktion der geplanten Wartung in AKS verwenden, können Sie beide Arten der Wartung in einem Rhythmus Ihrer Wahl ausführen, um die Auswirkungen auf die Arbeitsauslastung zu minimieren.

Hinweis

Sie können die geplante Wartung verwenden, um den Zeitpunkt der automatischen Upgrades zu planen, aber das Aktivieren oder Deaktivieren der geplanten Wartung aktiviert oder deaktiviert keine automatischen Upgrades.

Voraussetzungen

  • Es wird vorausgesetzt, dass Sie über ein AKS-Cluster verfügen. Wenn Sie keinen AKS-Cluster haben, lesen Sie Erstellen eines AKS-Clusters.
  • Wenn Sie das Azure CLI verwenden, führen Sie ein Upgrade auf die neueste Version mithilfe des Befehls az upgrade aus.
  • Ein aktives Azure-Abonnement. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein free-Konto, bevor Sie beginnen.

  • Legen Sie ihren Abonnementkontext mithilfe des az account set Befehls fest. Beispiel:

    az account set --subscription "00000000-0000-0000-0000-000000000000"
    
  • Terraform lokal installiert. Installationsanweisungen finden Sie unter Install Terraform.

Überlegungen

Wenn Sie die geplante Wartung verwenden, gelten die folgenden Überlegungen:

  • AKS behält sich vor, geplante Wartungsfenster für ungeplante, reaktive Wartungsvorgänge zu unterbrechen, die dringend oder kritisch sind. Diese Wartungsvorgänge können sogar während der in Ihrer Konfiguration definierten notAllowedTime- oder notAllowedDates-Zeiträume ausgeführt werden.
  • Wartungsarbeiten werden nur nach bestem Wissen und Gewissen durchgeführt und es wird nicht garantiert, dass sie innerhalb eines bestimmten Zeitraums stattfinden.

Planen von Konfigurationstypen für geplante Wartung

Für die geplante Wartung stehen drei Planungskonfigurationstypen zur Verfügung:

  • default ist eine grundlegende Konfiguration für die Verwaltung von AKS-Versionen, die das Upgrade von Komponenten der Steuerungsebene und Systemerweiterungen umfasst. Die Einführung der Veröffentlichungen kann ab dem Zeitpunkt des ersten Versands bis zu zwei Wochen dauern, um alle Regionen zu erreichen, was auf die sicheren Bereitstellungspraktiken von Azure zurückzuführen ist.

    Wählen Sie default aus, um diese Updates so zu planen, dass sie für Sie am wenigsten störend sind. Sie können den Status eines laufenden AKS-Releases nach Region im wöchentlichen Releasetracker überwachen.

  • aksManagedAutoUpgradeSchedule steuert, wann Upgrades ausgeführt werden, die von Ihrem angegebenen Kanal für automatische Upgrades geplant wurden. Sie können mit dieser Konfiguration den Rhythmus und die Wiederholungen feiner steuern als mit der default-Konfiguration. Weitere Informationen zum automatischen Upgrade von Clustern finden Sie unter Automatisches Upgrade eines Azure Kubernetes Service Clusters.

  • aksManagedNodeOSUpgradeSchedule steuert, wann Sicherheitspatches des Knotenbetriebssystems durchgeführt werden, die vom automatisches Upgradekanal Ihres Knotenbetriebssystems geplant werden. Sie können mit dieser Konfiguration den Rhythmus und die Wiederholungen feiner steuern als mit der default-Konfiguration. Weitere Informationen zu automatischen Upgradekanälen des Knotenbetriebssystems finden Sie unter Automatisches Patchen und Aktualisieren von AKS-Clusterknotenimages.

Wir empfehlen die Verwendung aksManagedAutoUpgradeSchedule für alle Cluster-Kubernetes-Versionsupgradeszenarien und aksManagedNodeOSUpgradeSchedule für alle Sicherheitspatchingszenarien des Knotenbetriebssystems.

Option default ist ausschließlich für wöchentliche AKS-Releases vorgesehen. Verwenden Sie default diese Option, wenn Sie den Upgradezeitplan für AKS-Steuerungsebenenkomponenten (z. B. API Server, ETCD usw.) und Add-Ons (z. B. CoreDNS, Metrics Server usw.) steuern möchten.

Alle drei Arten von Konfigurationen können koexistieren.

Erstellen eines Wartungsfensters

Hinweis

Wählen Sie bei Verwendung des automatischen Upgrades ein Wartungsfenster mit einer Dauer von mindestens vier Stunden aus, damit es ordnungsgemäß funktioniert.

Hinweis

Verwenden Sie die Eigenschaften in der folgenden Tabelle ab der API-Version 2023-05-01 für die default-Konfiguration.

Ein aksManagedAutoUpgradeSchedule oder aksManagedNodeOSUpgradeSchedule Wartungsfenster und default Konfiguration ab 2023-05-01 API-Version hat die folgenden Eigenschaften:

Name BESCHREIBUNG Standardwert
utcOffset Die Zeitzone für die Clusterwartung. +00:00
startDate Das Datum, ab dem das Wartungsfenster wirksam wird. Das aktuelle Datum zum Zeitpunkt der Erstellung
startTime Die Zeit für den Beginn der Wartung, basierend auf der durch utcOffset bestimmten Zeitzone. Nicht verfügbar
schedule Die Upgradehäufigkeit. Es stehen drei Arten zur Verfügung: Weekly, AbsoluteMonthly und RelativeMonthly. Nicht verfügbar
intervalDays Das Intervall in Wochen für Wartungsläufe. Es gilt nur für aksManagedNodeOSUpgradeSchedule. Nicht verfügbar
intervalWeeks Das Intervall in Wochen für Wartungsausführungen. Nicht verfügbar
intervalMonths Das Intervall in Monaten für Wartungsausführungen. Nicht verfügbar
dayOfWeek Der angegebene Wochentag für den Beginn der Wartung. Nicht verfügbar
durationHours Die Dauer des Zeitfensters für die Wartungsausführung. Nicht verfügbar
notAllowedDates Ein Datumsbereich, in dem keine Wartung ausgeführt werden kann, bestimmt durch die untergeordneten Eigenschaften start und end. Dies gilt nur, wenn Sie das Wartungsfenster mithilfe einer Konfigurationsdatei erstellen. Nicht verfügbar

Veraltete Eigenschaften

Hinweis

Wenn Sie eine default Konfiguration mit den folgenden veralteten Eigenschaften erstellen, wird sie automatisch zu den neuen Eigenschaften migriert, die in der vorherigen Tabelle angezeigt werden.

[Veraltet] Ein default Wartungsfenster verfügt über die folgenden Legacyeigenschaften:

Name BESCHREIBUNG Standardwert
timeInWeek In einer default-Konfiguration enthält diese Eigenschaft die Werte day und hourSlots, die ein Wartungsfenster definieren. Nicht verfügbar
timeInWeek.day Der Wochentag für die Durchführung der Wartung in einer default-Konfiguration. Nicht verfügbar
timeInWeek.hourSlots Eine Liste der einstündigen Zeitfenster für die Durchführung der Wartung an einem bestimmten Tag in einer default-Konfiguration. Nicht verfügbar
notAllowedTime Ein Datumsbereich, in dem keine Wartung ausgeführt werden kann, bestimmt durch die untergeordneten Eigenschaften start und end. Diese Eigenschaft gilt nur, wenn Sie das Wartungsfenster mithilfe einer Konfigurationsdatei erstellen. Nicht verfügbar

Zeitplantypen

Vier Zeitplantypen werden unterstützt: Daily, , Weekly, AbsoluteMonthlyund RelativeMonthly.

Die folgende Tabelle zeigt, welche Typen für jede Wartungskonfigurationsoption verfügbar sind:

Zeitplantyp default aksManagedClusterAutoUpgradeSchedule aksManagedNodeOSUpgradeSchedule
Täglich Nicht unterstützt ❌ Unterstützt ✅ (nach Jun 2025) Unterstützung von ✅
Weekly Unterstützung von ✅ Unterstützung von ✅ Unterstützung von ✅
AbsoluteMonthly Nicht unterstützt ❌ Unterstützung von ✅ Unterstützung von ✅
RelativeMonthly Nicht unterstützt ❌ Unterstützung von ✅ Unterstützung von ✅

Alle Felder, die für jeden Zeitplantyp angezeigt werden, sind erforderlich.

Ein möglicher Daily-Zeitplan könnte so aussehen: „alle drei Tage“:

"schedule": {
    "daily": {
        "intervalDays": 3
    }
}

Ein möglicher Weekly-Zeitplan könnte so aussehen: „alle zwei Wochen am Freitag“:

"schedule": {
    "weekly": {
        "intervalWeeks": 2,
        "dayOfWeek": "Friday"
    }
}

Ein möglicher AbsoluteMonthly-Zeitplan könnte so aussehen: „alle drei Monate am ersten Tag des Monats“:

"schedule": {
    "absoluteMonthly": {
        "intervalMonths": 3,
        "dayOfMonth": 1
    }
}

Ein möglicher RelativeMonthly-Zeitplan könnte so aussehen: „alle zwei Monate am letzten Montag“:

"schedule": {
    "relativeMonthly": {
        "intervalMonths": 2,
        "dayOfWeek": "Monday",
        "weekIndex": "Last"
    }
}

Gültige Werte für weekIndex sind First, Second, Third, Fourth und Last.

Erstellen der Terraform-Konfigurationsdatei

Terraform-Konfigurationsdateien definieren die Infrastruktur, die Terraform erstellt und verwaltet.

Erstellen Sie eine Datei mit dem Namen main.tf, und fügen Sie den folgenden Code hinzu, um die Terraform-Version zu definieren und den Azure Anbieter anzugeben:

terraform {
 required_providers {
   azurerm = {
     source  = "hashicorp/azurerm"
     version = "~>4.0"
   }
   azapi = {
     source  = "azure/azapi"
     version = "~>2.0"
   }
 }
}
provider "azurerm" {
 features {}
}
provider "azapi" {}

Erstellen einer Ressourcengruppe

Fügen Sie dem main.tf den folgenden Code hinzu, um eine Azure Ressourcengruppe zu erstellen. Aktualisieren Sie die location und name Werte, sodass sie Ihrer Umgebung entsprechen.

resource "azurerm_resource_group" "rg" {
 name     = "aks-maintenance-rg"
 location = "East US"
}

Erstellen eines AKS-Clusters

Fügen Sie den folgenden Code hinzu, um einen AKS-Cluster zu main.tf erstellen. Aktualisieren Sie alle Werte nach Bedarf, um ihrer Umgebung zu entsprechen.

resource "azurerm_kubernetes_cluster" "aks" {
 name                = "aks-maintenance-cluster"
 location            = azurerm_resource_group.rg.location
 resource_group_name = azurerm_resource_group.rg.name
 dns_prefix          = "aksmaintenance"
 default_node_pool {
   name       = "nodepool1"
   node_count = 1
   vm_size    = "Standard_DS2_v2"
 }
 identity {
   type = "SystemAssigned"
 }
}

Hinzufügen einer Konfiguration für das Wartungsfenster

Fügen Sie mithilfe des az aks maintenanceconfiguration add Befehls eine Wartungsfensterkonfiguration zu einem AKS-Cluster hinzu.

Im ersten Beispiel wird eine neue default Konfiguration hinzugefügt, die die Wartung von 1:00 bis 1:00 Uhr jeden Montag in der UTC Zeitzone plant. Das zweite Beispiel fügt eine neue aksManagedAutoUpgradeSchedule-Konfiguration hinzu, mit der die Wartung jeden dritten Freitag zwischen Mitternacht (00:00) und 08:00 Uhr Morgens in der Zeitzone UTC+5:30 geplant wird.

# Add a new default configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Monday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 01:00

# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
  1. Wechseln Sie im Azure-Portal zu Ihrer AKS-Clusterressource.

  2. Wählen Sie im Dienstmenü unter "Einstellungen" die Option "Upgrades" aus.

  3. Wählen Sie unter Upgrade>Zeitplan für automatische Upgrades die Option Zeitplan hinzufügen aus.

    Screenshot mit der Option zum Hinzufügen eines Zeitplans im Azure portal.

  4. Konfigurieren Sie im Bereich Wartungszeitplan hinzufügen die folgenden Wartungsfenstereinstellungen:

    • Wiederholungen: Wählen Sie die Häufigkeit für das Wartungsfenster aus. Es wird empfohlen Wöchentlich zu verwenden.
    • Häufigkeit: Wählen Sie den Wochentag für das Wartungsfenster aus. Es wird empfohlen Sonntag zu verwenden.
    • Wartungsstartdatum: Wählen Sie das Startdatum für das Wartungsfenster aus.
    • Wartungsstartzeit: Wählen Sie die Startzeit für das Wartungsfenster aus.
    • UTC-Abweichung: Wählen Sie die UTC-Abweichung für das Wartungsfenster aus. Der Standardwert ist +00:00.

    Screenshot, der den Bereich zum Hinzufügen eines Wartungszeitplans im Azure Portal anzeigt.

  5. Wählen Sie Speichern aus.

Anstelle von Parametern könne Sie eine JSON-Datei zum Erstellen einer Wartungskonfiguration verwenden. Wenn Sie diese Methode verwenden, können Sie die Wartung während eines bestimmten Datumsbereichs unterbinden, indem Sie für notAllowedDates, default und aksManagedAutoUpgradeSchedule Konfigurationen angeben aksManagedNodeOSUpgradeSchedule.

  1. Erstellen Sie eine JSON-Datei mit den Wartungsfenstereinstellungen.

    Im folgenden Beispiel wird eine default.json Datei erstellt, in der die Wartung jeden Dienstag von 1:00 bis 5:00 Uhr in der UTC Zeitzone geplant ist. Es gibt auch eine Ausnahme zwischen 2021-05-26 und 2021-05-30, wo die Wartung nicht zulässig ist, auch wenn sie sich mit einem Wartungsfenster überschneidet.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Tuesday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "01:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    

    Im folgenden Beispiel wird eine Datei autoUpgradeWindow.json erstellt, mit der die Wartung alle drei Monate am ersten Tag des Monats zwischen 09:00 und 13:00 Uhr in der Zeitzone UTC-08 geplant wird. Es gibt auch eine Ausnahme zwischen 2023-12-23 und 2024-01-05, wo die Wartung nicht zulässig ist, auch wenn sie sich mit einem Wartungsfenster überschneidet.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "absoluteMonthly": {
                    "intervalMonths": 3,
                    "dayOfMonth": 1
                }
            },
            "durationHours": 4,
            "utcOffset": "-08:00",
            "startTime": "09:00",
            "notAllowedDates": [
                {
                    "start": "2023-12-23",
                    "end": "2024-01-05"
                }
            ]
        }
      }
    }
    
  2. Fügen Sie die Wartungsfensterkonfiguration mithilfe des az aks maintenanceconfiguration add Befehls mit dem --config-file Parameter hinzu.

    Das erste Beispiel fügt mithilfe der Datei default eine neue default.json-Konfiguration hinzu. Das zweite Beispiel fügt mithilfe der Datei aksManagedAutoUpgradeSchedule eine neue autoUpgradeWindow.json-Konfiguration hinzu.

    # Add a new default configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    
    # Add a new aksManagedAutoUpgradeSchedule configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --config-file ./autoUpgradeWindow.json
    

Fügen Sie die Wartungsfensterkonfiguration zu main.tf mithilfe der azapi_resource Ressource hinzu.

Standardwartungskonfiguration

Im folgenden Beispiel wird eine default Wartungskonfiguration erstellt, die die Wartung von 2:00 bis 6:00 Uhr jeden Samstag in der UTC-04:00 Zeitzone plant:

resource "azapi_resource" "default_maintenance" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "default"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       schedule = {
         weekly = {
           dayOfWeek     = "Saturday"
           intervalWeeks = 1
         }
       }
       durationHours = 4
       startTime     = "02:00"
       utcOffset     = "-04:00"
     }
   }
 }
}

Autoupgrade-Wartungskonfiguration

Im folgenden Beispiel wird eine aksManagedAutoUpgradeSchedule Wartungskonfiguration erstellt, mit der die Wartung jeden Sonntag von 1:00 bis 17:00 Uhr in der UTC-04:00 Zeitzone geplant wird, beginnend am 20. April 2026:

resource "azapi_resource" "auto_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedAutoUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-20"
       startTime     = "01:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Sunday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

Konfiguration der Wartung für das Upgrade des Knoten-Betriebssystems

Im folgenden Beispiel wird eine aksManagedNodeOSUpgradeSchedule Wartungskonfiguration erstellt, die die Ausführung von Montag von 3:00 bis 7:00 Uhr in der UTC-04:00 Zeitzone plant, beginnend am 21. April 2026:

resource "azapi_resource" "node_os_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedNodeOSUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-21"
       startTime     = "03:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Monday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

Aktualisieren eines vorhandenen Wartungsfensters

Aktualisieren Sie eine vorhandene Wartungskonfiguration mithilfe des az aks maintenanceconfiguration update Befehls.

Im folgenden Beispiel wird die Konfiguration aktualisiert, um die default Wartung von 2:00 bis 06:00 Uhr jeden Freitag zu planen:

az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
  1. Navigieren Sie im Azure-Portal zu Ihrer AKS-Clusterressource.

  2. Wählen Sie im Dienstmenü unter "Einstellungen" die Option "Upgrades" aus.

  3. Wählen Sie unter Upgrade>Zeitplan für automatische Upgrades die Option Zeitplan bearbeiten aus.

    Screenshot mit der Option zum Bearbeiten eines Zeitplans im Azure portal.

  4. Aktualisieren Sie im Bereich Wartungszeitplan bearbeiten die Wartungsfenstereinstellungen nach Bedarf.

  5. Wählen Sie Speichern aus.

  1. Aktualisieren Sie die JSON-Konfigurationsdatei mit den neuen Wartungsfenstereinstellungen.

    Im folgenden Beispiel wird die default.json-Datei aus dem vorherigen Abschnitt aktualisiert, um die Wartungsarbeiten jeden Montag von 02:00 bis 06:00 Uhr zu planen.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Monday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "02:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    
  2. Aktualisieren Sie die Konfiguration des Wartungsfensters mit dem az aks maintenanceconfiguration update-Befehl mit dem Parameter --config-file:

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    

Wenn Sie bereits über einen von Terraform verwalteten AKS-Cluster verfügen, können Sie die Konfiguration des Wartungsfensters aktualisieren, indem Sie die Terraform-Konfigurationsdatei ändern und die Änderungen mithilfe des terraform apply Befehls anwenden.

Initialisieren Sie Terraform

Initialisieren Sie Terraform im Verzeichnis, das Ihre main.tf Datei enthält, mithilfe des terraform init Befehls. Dieser Befehl lädt den Azure Anbieter herunter, der zum Verwalten von Azure Ressourcen mit Terraform erforderlich ist.

terraform init

Terraform-Ausführungsplan erstellen

Erstellen Sie mit dem Befehl „terraform plan“ einen Terraform-Ausführungsplan. Dieser Befehl zeigt Ihnen die Ressourcen, die Terraform in Ihrem Azure-Abonnement erstellen oder ändern wird.

terraform plan

Terraform-Konfiguration anwenden

Wenden Sie nach der Überprüfung und Bestätigung des Ausführungsplans die Terraform-Konfiguration mit dem terraform apply Befehl an. Dieser Befehl erstellt oder ändert die ressourcen, die in Ihrer main.tf-Datei in Ihrem Azure-Abonnement definiert sind.

terraform apply

Auflisten aller Wartungsfenster in einem vorhandenen Cluster

Auflisten der aktuellen Wartungskonfigurationsfenster in Ihrem AKS-Cluster mithilfe des az aks maintenanceconfiguration list Befehls:

az aks maintenanceconfiguration list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME

Anzeigen eines bestimmten Wartungsfensters in einem vorhandenen Cluster

Zeigen Sie ein bestimmtes Wartungskonfigurationsfenster in Ihrem AKS-Cluster mithilfe des az aks maintenanceconfiguration show Befehls mit dem --name Parameter an:

az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule

Die folgende Beispielausgabe zeigt das Wartungsfenster für aksManagedAutoUpgradeSchedule:

{
  "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedAutoUpgradeSchedule",
  "maintenanceWindow": {
    "durationHours": 4,
    "notAllowedDates": [
      {
        "end": "2024-01-05",
        "start": "2023-12-23"
      }
    ],
    "schedule": {
      "absoluteMonthly": {
        "dayOfMonth": 1,
        "intervalMonths": 3
      },
      "daily": null,
      "relativeMonthly": null,
      "weekly": null
    },
    "startDate": "2023-01-20",
    "startTime": "09:00",
    "utcOffset": "-08:00"
  },
  "name": "aksManagedAutoUpgradeSchedule",
  "notAllowedTime": null,
  "resourceGroup": "myResourceGroup",
  "systemData": null,
  "timeInWeek": null,
  "type": null
}

Löschen eines Wartungsfensters in einem vorhandenen Cluster

Löschen Sie mithilfe des az aks maintenanceconfiguration delete Befehls ein Wartungskonfigurationsfenster in Ihrem AKS-Cluster.

Das folgende Beispiel löscht die Wartungskonfiguration autoUpgradeSchedule:

az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule
  1. Navigieren Sie im Azure-Portal zu Ihrer AKS-Clusterressource.

  2. Wählen Sie im Dienstmenü unter Einstellungen die Option Clusterkonfiguration aus.

  3. Wählen Sie unter Upgrade>Zeitplan für automatische Upgrades die Option Zeitplan bearbeiten aus.

    Screenshot mit der Option zum Bearbeiten eines Zeitplans im Azure portal.

  4. Wählen Sie im Bereich Wartungszeitplan bearbeiten die Option Zeitplan entfernen aus.

    Screenshot, der den Bereich zum Bearbeiten eines Wartungsfensters mit der Schaltfläche zum Entfernen eines Zeitplans im Azure-Portal anzeigt.

Löschen Sie mithilfe des az aks maintenanceconfiguration delete Befehls ein Wartungskonfigurationsfenster in Ihrem AKS-Cluster.

Das folgende Beispiel löscht die Wartungskonfiguration autoUpgradeSchedule:

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

Um eine Wartungskonfiguration zu löschen, entfernen Sie den entsprechenden Block aus Ihrer Terraform-Konfiguration, und wenden Sie die Änderungen mithilfe des terraform apply Befehls an.

Häufig gestellte Fragen (FAQ)

Wie kann ich die bestehenden Wartungskonfigurationen in meinem Cluster überprüfen?

Verwenden Sie den Befehl az aks maintenanceconfiguration show.

Können reaktive, ungeplante Wartungen auch während der notAllowedDates Zeiträume vorkommen?

Ja. AKS behält sich vor, diese Fenster für ungeplante/reaktive Wartungsvorgänge zu unterbrechen, falls diese dringend oder kritisch sind.

Wie kann ich feststellen, ob ein Wartungsereignis aufgetreten ist?

Überprüfen Sie für Releases die Region Ihres Clusters, und suchen Sie nach Informationen in wöchentliche Releases, um festzustellen, ob dies Ihrem Wartungszeitplan entspricht. Um den Status Ihrer automatischen Upgrades anzuzeigen, überprüfen Sie die Aktivitätsprotokolle in Ihrem Cluster. Sie können auch nach bestimmten Ereignissen im Zusammenhang mit Upgrades suchen, wie unter Upgraden eines AKS-Clusters beschrieben.

AKS gibt auch upgradebezogene Azure Event Grid Ereignisse aus. Weitere Informationen finden Sie unter AKS als Event Grid-Quelle.

Kann ich mehr als eine Wartungskonfiguration gleichzeitig verwenden?

Ja, Sie können alle drei Konfigurationen gleichzeitig ausführen: default, aksManagedAutoUpgradeSchedule und aksManagedNodeOSUpgradeSchedule. Wenn sich die Fenster überschneiden, entscheidet AKS über die Ausführungsreihenfolge.

Ich habe ein Wartungsfenster konfiguriert, aber das Upgrade wurde nicht durchgeführt. Warum?

Das automatische AKS-Upgrade benötigt eine bestimmte Zeitspanne, in der Regel nicht mehr als 15 Minuten, um das Wartungsfenster zu berücksichtigen. Wir empfehlen mindestens 15 Minuten zwischen der Erstellung oder Aktualisierung einer Wartungskonfiguration und der geplanten Startzeit.

Stellen Sie außerdem sicher, dass Ihr Cluster gestartet ist, wenn das geplante Wartungsfenster beginnt. Wenn der Cluster gestoppt ist, wird seine Steuerungsebene freigegeben, und es können keine Vorgänge ausgeführt werden.

Warum wurde für einen meiner Agentpools ein Upgrade außerhalb des Wartungsfensters durchgeführt?

Wenn für einen Agentpool kein Upgrade ausgeführt wurde (z. B. weil Pod-Unterbrechungsbudgets dies verhindert haben), kann später außerhalb des Wartungsfensters ein Upgrade durchgeführt werden. Dieses Szenario wird als Catch-up Upgrade bezeichnet. Es verhindert, dass Agents-Pools mit einer anderen Version von der AKS-Steuerebene aus aktualisiert werden können.

Ein weiterer Grund, warum ein Agentpool unerwartet aktualisiert werden konnte, ist, wenn keine definierte Wartungskonfiguration vorhanden ist oder ob er gelöscht wurde. In diesem Fall wird ein Cluster mit automatischem Upgrade , aber ohne Wartungskonfiguration zu zufälligen Zeiten (Fallbackzeitplan) aktualisiert, was ein unerwünschter Zeitrahmen sein kann.

Gibt es bewährte Methoden für die Wartungskonfigurationen?

Wir empfehlen, den Zeitplan für Sicherheitsupdates des Knotenbetriebssystems auf einen wöchentlichen Rhythmus festzulegen, wenn Sie den NodeImage-Kanal verwenden, da jedes Jahr ein neues Knotenimage ausgeliefert wird. Sie können sich auch den SecurityPatch-Kanal abonnieren, um tägliche Sicherheitsupdates zu erhalten.

Sie können den Zeitplan für automatische Upgrades auf einen monatlichen Zeitplan festlegen, um mit der Kubernetes N-2-Supportrichtlinie auf dem laufenden zu bleiben.

Eine ausführliche Erläuterung zu bewährten Methoden für Upgrades und anderen Überlegungen finden Sie unter AKS Patch- und Upgradeanleitungen.

Kann ich alle meine Cluster in einem einzigen Abonnement konfigurieren, sodass die gleiche Wartungskonfiguration verwendet wird?

Es wird nicht empfohlen, dieselbe Wartungskonfiguration für mehrere Cluster in einem einzigen Abonnement zu verwenden, da dies zu ARM-Drosselungsfehlern führen kann, die dazu führen, dass Clusterupgrades fehlschlagen. Stattdessen wird empfohlen, die Wartungsfenster für jedes Cluster zu verwerfen, um diese Fehler zu vermeiden.

Warum wurden meine Knotenpools während desselben Wartungsfensters zweimal aktualisiert?

Wenn eine neuere Version des Knotenimages während des Wartungsfensters verfügbar wird, führt AKS ein zweites Upgrade durch, um sicherzustellen, dass Ihre Knotenpools die neueste Version ausführen. Dieses Verhalten ist normal und weist nicht auf ein Problem hin.

Die ersten Schritte beim Upgraden Ihres AKS-Clusters sind unter Upgradeoptionen für AKS-Cluster beschrieben.