Condividi tramite


Usare la manutenzione pianificata per pianificare e controllare gli aggiornamenti per il cluster servizio Azure Kubernetes

Questo articolo illustra come usare la manutenzione pianificata per pianificare e controllare gli aggiornamenti delle immagini del cluster e dei nodi in Servizio Azure Kubernetes (AKS).

La manutenzione regolare viene eseguita automaticamente nel cluster del servizio Azure Kubernetes. Esistono due tipi di operazioni di manutenzione:

Quando si usa la funzionalità di manutenzione pianificata nel servizio Azure Kubernetes, è possibile eseguire entrambi i tipi di manutenzione con una frequenza di propria scelta, per ridurre al minimo l'impatto del carico di lavoro.

Note

È possibile usare la manutenzione pianificata per pianificare i tempi degli aggiornamenti automatici, ma l'abilitazione o la disabilitazione della manutenzione pianificata non abilita o disabilita gli aggiornamenti automatici.

Prima di iniziare

  • Se si usa il interfaccia della riga di comando di Azure, eseguire l'aggiornamento alla versione più recente usando il comando az upgrade.
  • Sottoscrizione attiva Azure. Se non si ha una sottoscrizione Azure, creare un account free prima di iniziare.

  • Impostare il contesto della sottoscrizione usando il az account set comando . Per esempio:

    az account set --subscription "00000000-0000-0000-0000-000000000000"
    
  • Terraform installato localmente. Per istruzioni di installazione, vedere Installare Terraform.

Considerazioni

Quando si usa la manutenzione pianificata, valgono le considerazioni seguenti:

  • Il servizio Azure Kubernetes si riserva il diritto di interrompere le finestre di manutenzione pianificata per operazioni di manutenzione non pianificate e reattive che siano urgenti o critiche. Queste operazioni di manutenzione potrebbero essere eseguite anche durante i periodi notAllowedTime o notAllowedDates definiti nella configurazione.
  • Le operazioni di manutenzione vengono considerate solo un'operazione con massimo impegno e non è garantito che si verifichi all'interno di una finestra specificata.

Pianificare i tipi di configurazione per la manutenzione pianificata

Per la manutenzione pianificata sono disponibili tre tipi di configurazione di pianificazione:

  • default è una configurazione di base per il controllo delle versioni del servizio AKS (Azure Kubernetes Service), che include l'aggiornamento dei componenti del piano di controllo e dei componenti aggiuntivi di sistema. I rilasci possono richiedere fino a due settimane per essere implementati in tutte le aree a partire dal momento iniziale del rilascio, a causa delle pratiche di distribuzione sicure di Azure.

    Scegliere default per pianificare questi aggiornamenti in modo che sia meno problematico per l'utente. È possibile monitorare lo stato di una versione continuativa del servizio Azure Kubernetes in base all'area con il tracker delle versioni settimanali.

  • aksManagedAutoUpgradeSchedule controlla quando eseguire gli aggiornamenti del cluster pianificati dal canale di aggiornamento automatico designato. È possibile configurare impostazioni di frequenza e ricorrenza più controllate con questa configurazione rispetto alla configurazione default. Per altre informazioni sull'aggiornamento automatico del cluster, vedere Aggiornare automaticamente un cluster servizio Azure Kubernetes.

  • aksManagedNodeOSUpgradeSchedule controlla quando eseguire l'applicazione di patch di sicurezza del sistema operativo del nodo pianificata dal canale di aggiornamento automatico del sistema operativo del nodo. È possibile configurare impostazioni di frequenza e ricorrenza più controllate con questa configurazione rispetto alla configurazione default. Per altre informazioni sui canali di aggiornamento automatico del sistema operativo del nodo, vedere Applicare automaticamente patch e aggiornare le immagini dei nodi del cluster del servizio Azure Kubernetes.

È consigliabile usare aksManagedAutoUpgradeSchedule per tutti gli scenari di aggiornamento della versione di Kubernetes del cluster e aksManagedNodeOSUpgradeSchedule per tutti gli scenari di applicazione di patch alla sicurezza del sistema operativo del nodo.

L'opzione default è destinata esclusivamente alle versioni settimanali del servizio Azure Kubernetes. Usare default se si vuole controllare la pianificazione dell'aggiornamento per i componenti del piano di controllo di AKS (come API Server, ETCD e così via) e i componenti aggiuntivi (come CoreDNS, Metrics Server e così via).

Tutti e tre i tipi di configurazioni possono coesistere.

Creare una finestra di manutenzione

Note

Quando si usa l'aggiornamento automatico, per garantire una funzionalità appropriata, usare una finestra di manutenzione con una durata di quattro ore o più.

Note

A partire dalla versione dell'API 2023-05-01, usare le proprietà nella tabella seguente per la configurazione default.

Una aksManagedAutoUpgradeSchedule finestra di manutenzione o aksManagedNodeOSUpgradeSchedule e default la configurazione dalla versione dell'API 2023-05-01 successiva ha le proprietà seguenti:

Nome Descrizione Valore predefinito
utcOffset Fuso orario della manutenzione del cluster. +00:00
startDate Data di attivazione della finestra di manutenzione. Data corrente in fase di creazione
startTime Ora di inizio della manutenzione, in base al fuso orario determinato da utcOffset. Non applicabile
schedule Frequenza di aggiornamento. Sono disponibili tre tipi: Weekly, AbsoluteMonthly e RelativeMonthly. Non applicabile
intervalDays Intervallo in giorni per le esecuzioni di manutenzione. È applicabile solo a aksManagedNodeOSUpgradeSchedule. Non applicabile
intervalWeeks Intervallo di settimane per le esecuzioni di manutenzione. Non applicabile
intervalMonths Intervallo in mesi per le esecuzioni di manutenzione. Non applicabile
dayOfWeek Giorno specificato della settimana per l'inizio della manutenzione. Non applicabile
durationHours Durata della finestra per l'esecuzione della manutenzione. Non applicabile
notAllowedDates Intervallo di date in cui la manutenzione non può essere eseguita, determinata dalle proprietà figlio start e end. È applicabile solo quando si crea la finestra di manutenzione usando un file di configurazione. Non applicabile

Proprietà deprecate

Note

Se si crea una default configurazione con le proprietà deprecate seguenti, viene eseguita automaticamente la migrazione alle nuove proprietà illustrate nella tabella precedente.

[Deprecato] Una default finestra di manutenzione ha le proprietà legacy seguenti:

Nome Descrizione Valore predefinito
timeInWeek In una configurazione default questa proprietà contiene i valori day e hourSlots che definiscono una finestra di manutenzione. Non applicabile
timeInWeek.day Giorno della settimana per eseguire la manutenzione in una configurazione di default. Non applicabile
timeInWeek.hourSlots Elenco di intervalli di tempo a lungo termine per eseguire la manutenzione in un determinato giorno in una configurazione di default. Non applicabile
notAllowedTime Intervallo di date in cui la manutenzione non può essere eseguita, determinata dalle proprietà figlio start e end. Questa proprietà è applicabile solo quando si crea la finestra di manutenzione usando un file di configurazione. Non applicabile

Tipi di pianificazione

Sono supportati quattro tipi di pianificazione: Daily, Weekly, AbsoluteMonthlye RelativeMonthly.

La tabella seguente illustra i tipi disponibili per ogni opzione di configurazione di manutenzione:

Tipo di pianificazione default aksManagedClusterAutoUpgradeSchedule aksManagedNodeOSUpgradeSchedule
Ogni giorno Non confermato ❌ Supportato ✅ (dopo giugno 2025) Aggiunta del supporto per ✅
Ogni settimana Aggiunta del supporto per ✅ Aggiunta del supporto per ✅ Aggiunta del supporto per ✅
AbsoluteMonthly Non confermato ❌ Aggiunta del supporto per ✅ Aggiunta del supporto per ✅
RelativeMonthly Non confermato ❌ Aggiunta del supporto per ✅ Aggiunta del supporto per ✅

Tutti i campi visualizzati per ogni tipo di pianificazione sono obbligatori.

Una pianificazione Daily potrebbe essere del genere "ogni tre giorni":

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

Una pianificazione Weekly potrebbe essere del genere "ogni due settimane il venerdì":

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

Una pianificazione AbsoluteMonthly potrebbe essere del genere "ogni tre mesi, il primo giorno del mese":

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

Una pianificazione RelativeMonthly potrebbe essere del genere "ogni due mesi, l'ultimo lunedì":

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

I valori validi per weekIndex includono First, Second, Third, Fourth e Last.

Creare il file di configurazione terraform

I file di configurazione terraform definiscono l'infrastruttura creata e gestita da Terraform.

Creare un file denominato main.tf e aggiungere il codice seguente per definire la versione di Terraform e specificare il provider Azure:

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

Creare un gruppo di risorse

Aggiungere il codice seguente a main.tf per creare un gruppo di risorse Azure. Aggiornare i valori location e name in modo che corrispondano all'ambiente.

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

Crea un cluster AKS

Aggiungere il codice seguente a main.tf per creare un cluster AKS. Aggiornare i valori in base alle esigenze per l'ambiente in uso.

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"
 }
}

Aggiungere una configurazione della finestra di manutenzione

Aggiungere una configurazione della finestra di manutenzione a un cluster AKS usando il comando az aks maintenanceconfiguration add.

Il primo esempio aggiunge una nuova default configurazione che pianifica l'esecuzione della manutenzione dalle 13:00 alle 5:00 ogni lunedì nel UTC fuso orario. Nel secondo esempio viene aggiunta una nuova configurazione aksManagedAutoUpgradeSchedule che pianifica l’esecuzione della manutenzione ogni terzo venerdì tra le 12:00 e le 8:00 nel fuso orario UTC+5:30.

# 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. Nel portale di Azure, vai alla risorsa del cluster AKS.

  2. Dal menu del servizio, in Impostazioni, selezionare Aggiornamenti.

  3. In Aggiorna>Utilità di pianificazione aggiornamento automatico selezionare Aggiungi pianificazione.

    Screenshot che mostra l'opzione per aggiungere una pianificazione nel portale Azure.

  4. Nel riquadro Aggiungi programma di manutenzione configurare le impostazioni della finestra di manutenzione seguenti:

    • Ripetizioni: selezionare la frequenza per la finestra di manutenzione. È consigliabile selezionare Settimanale.
    • Frequenza: selezionare il giorno della settimana per la finestra di manutenzione. È consigliabile selezionare Domenica.
    • Data di inizio manutenzione: selezionare la data di inizio per la finestra di manutenzione.
    • Ora di inizio manutenzione: selezionare l'ora di inizio per la finestra di manutenzione.
    • Differenza dall'ora UTC: selezionare la differenza dall'ora UTC per la finestra di manutenzione. L'impostazione predefinita è +00:00.

    Screenshot che mostra il riquadro per l'aggiunta di una pianificazione di manutenzione nel portale Azure.

  5. Seleziona Salva.

È possibile usare un file JSON per creare una configurazione di manutenzione anziché usare i parametri. Quando si usa questo metodo, è possibile impedire la manutenzione durante un intervallo di date specificando notAllowedDates per defaultle configurazioni , aksManagedAutoUpgradeSchedulee aksManagedNodeOSUpgradeSchedule .

  1. Creare un file JSON con le impostazioni della finestra di manutenzione.

    Nell'esempio seguente viene creato un default.json file che pianifica l'esecuzione della manutenzione dalle 13:00 alle 5:00 ogni martedì nel UTC fuso orario. Esiste anche un'eccezione da 2021-05-26 a 2021-05-30 in cui la manutenzione non è consentita, anche se si sovrappone a una finestra di manutenzione.

    {
      "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"
                }
            ]
        }
      }
    }
    

    Nell'esempio seguente viene creato un file autoUpgradeWindow.json che pianifica l'esecuzione della manutenzione ogni tre mesi, il primo giorno mese tra le 9.00 e le 13.00 nel fuso orario UTC-08. Esiste anche un'eccezione da 2023-12-23 a 2024-01-05 in cui la manutenzione non è consentita, anche se si sovrappone a una finestra di manutenzione.

    {
      "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. Aggiungere la configurazione della finestra di manutenzione usando il az aks maintenanceconfiguration add comando con il --config-file parametro .

    Nel primo esempio viene aggiunta una nuova configurazione default usando il file default.json. Nel secondo esempio viene aggiunta una nuova configurazione aksManagedAutoUpgradeSchedule usando il file autoUpgradeWindow.json.

    # 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
    

Aggiungere la configurazione della finestra di manutenzione a main.tf utilizzando la risorsa azapi_resource.

Configurazione di manutenzione predefinita

L'esempio seguente crea una default configurazione di manutenzione che pianifica l'esecuzione della manutenzione dalle 2:00 alle 6:00 ogni sabato nel UTC-04:00 fuso orario:

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"
     }
   }
 }
}

Configurazione della manutenzione dell'aggiornamento automatico

L'esempio seguente crea una aksManagedAutoUpgradeSchedule configurazione di manutenzione che pianifica l'esecuzione della manutenzione ogni domenica dalle 13:00 alle 5:00 nel UTC-04:00 fuso orario, a partire dal 20 aprile 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
         }
       }
     }
   }
 }
}

Configurazione di manutenzione dell'aggiornamento del sistema operativo del nodo

L'esempio seguente crea una aksManagedNodeOSUpgradeSchedule configurazione di manutenzione che pianifica l'esecuzione della manutenzione ogni lunedì dalle 3:00 alle 7:00 nel UTC-04:00 fuso orario, a partire dal 21 aprile 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
         }
       }
     }
   }
 }
}

Aggiornare una finestra di manutenzione esistente

Aggiornare una configurazione di manutenzione esistente usando il az aks maintenanceconfiguration update comando .

L'esempio seguente aggiorna la configurazione default per pianificare l'esecuzione della manutenzione dalle 2:00 alle 6:00 ogni venerdì.

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. Nel portale di Azure, passare alla risorsa del cluster AKS.

  2. Dal menu del servizio, in Impostazioni, selezionare Aggiornamenti.

  3. In Aggiorna>Utilità di pianificazione aggiornamento automatico selezionare Modifica pianificazione.

    Screenshot che mostra l'opzione per la modifica di una pianificazione nel portale Azure.

  4. Nel riquadro Modifica programma di manutenzione, aggiornare le impostazioni della finestra di manutenzione in base alle esigenze.

  5. Seleziona Salva.

  1. Aggiornare il file JSON di configurazione con le nuove impostazioni della finestra di manutenzione.

    L'esempio seguente aggiorna il default.json file dalla sezione precedente per pianificare l'esecuzione della manutenzione dalle 2:00 alle 6:00 ogni lunedì:

    {
      "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. Aggiornare la configurazione della finestra di manutenzione usando il az aks maintenanceconfiguration update comando con il --config-file parametro :

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

Se si dispone già di un cluster del servizio Azure Kubernetes gestito da Terraform, è possibile aggiornare la configurazione della finestra di manutenzione modificando il file di configurazione terraform e applicando le modifiche usando il terraform apply comando .

Inizializzare Terraform

Inizializzare Terraform nella directory contenente il main.tf file usando il terraform init comando . Questo comando scarica il provider di Azure necessario per gestire le risorse Azure con Terraform.

terraform init

Crea un piano di esecuzione di Terraform

Creare un piano di esecuzione terraform usando il comando terraform plan. Questo comando mostra le risorse che Terraform creerà o modificherà nella sottoscrizione Azure.

terraform plan

Applicare la configurazione di Terraform

Dopo aver esaminato e confermato il piano di esecuzione, applicare la configurazione di Terraform usando il terraform apply comando . Questo comando crea o modifica le risorse definite nel file main.tf nella sottoscrizione Azure.

terraform apply

Elencare tutte le finestre di manutenzione in un cluster esistente

Elencare le finestre di configurazione di manutenzione correnti nel cluster del servizio Azure Kubernetes usando il comando az aks maintenanceconfiguration list:

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

Visualizzare una finestra di configurazione di manutenzione specifica in un cluster esistente

Visualizzare una finestra di configurazione di manutenzione specifica nel cluster AKS usando il comando az aks maintenanceconfiguration show con il parametro --name:

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

L'output di esempio seguente mostra la finestra di manutenzione per 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
}

Eliminare una finestra di configurazione della manutenzione in un cluster esistente

Eliminare una finestra di configurazione di manutenzione nel cluster del servizio Azure Kubernetes usando il comando az aks maintenanceconfiguration delete.

Nell'esempio seguente viene eliminata la configurazione di manutenzione autoUpgradeSchedule:

az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule
  1. Nel portale di Azure, passare alla risorsa del cluster AKS.

  2. Nel menu del servizio, in Impostazioni, selezionare Configurazione cluster.

  3. In Aggiorna>Utilità di pianificazione aggiornamento automatico selezionare Modifica pianificazione.

    Screenshot che mostra l'opzione per la modifica di una pianificazione nel portale Azure.

  4. Nel riquadro Modifica programma di manutenzione selezionare Rimuovi pianificazione.

    Screenshot che mostra il riquadro per la modifica di una finestra di manutenzione con il pulsante per rimuovere una pianificazione nel Azure portal.

Eliminare una finestra di configurazione di manutenzione nel cluster del servizio Azure Kubernetes usando il comando az aks maintenanceconfiguration delete.

Nell'esempio seguente viene eliminata la configurazione di manutenzione autoUpgradeSchedule:

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

Per eliminare una configurazione di manutenzione, rimuovere il blocco corrispondente dalla configurazione di Terraform e applicare le modifiche usando il terraform apply comando .

Domande frequenti

Come è possibile controllare le configurazioni di manutenzione esistenti nel cluster?

Usare il comando az aks maintenanceconfiguration show.

La manutenzione reattiva e non pianificata può verificarsi anche durante i notAllowedDates periodi?

Sì. Il servizio Azure Kubernetes si riserva il diritto di interrompere queste finestre per operazioni di manutenzione non pianificate, reattive che siano urgenti o critiche.

Come è possibile stabilire se si è verificato un evento di manutenzione?

Per le versioni, controllare l'area del cluster e cercare le informazioni nelle versioni settimanali per verificare se corrispondono al programma di manutenzione. Per visualizzare lo stato degli aggiornamenti automatici, cercare i log attività nel cluster. È anche possibile cercare eventi correlati all'aggiornamento specifici, come indicato in Aggiornare un cluster del servizio Azure Kubernetes.

AKS genera anche eventi di Griglia di eventi di Azure relativi all'aggiornamento. Per altre informazioni, vedere Servizio Azure Kubernetes come origine di Griglia di eventi.

È possibile usare più configurazioni di manutenzione contemporaneamente?

Sì, è possibile eseguire tutte e tre le configurazioni contemporaneamente: default, aksManagedAutoUpgradeSchedule e aksManagedNodeOSUpgradeSchedule. Nel caso in cui le finestre si sovrappongano, il servizio Azure Kubernetes decide l'ordine di esecuzione.

È stata configurata una finestra di manutenzione, ma l'aggiornamento non è stato eseguito. Perché?

L'aggiornamento automatico del servizio Azure Kubernetes richiede una certa quantità di tempo, in genere non superiore a 15 minuti, per prendere in considerazione la finestra di manutenzione. È consigliabile far trascorrere almeno 15 minuti tra la creazione o l'aggiornamento di una configurazione di manutenzione e l'ora di inizio pianificata.

Assicurarsi anche che il cluster venga avviato all'avvio della finestra di manutenzione pianificata. Se il cluster viene arrestato, il relativo piano di controllo viene deallocato e non è possibile eseguire alcuna operazione.

Perché uno dei pool di agenti è stato aggiornato al di fuori della finestra di manutenzione?

Se un pool di agenti non viene aggiornato (ad esempio, perché i budget di interruzione dei pod lo hanno impedito), potrebbe essere aggiornato in un secondo momento, al di fuori della finestra di manutenzione. Questo scenario viene definito aggiornamento di recupero. Evita che i pool di agenti vengano aggiornati con una versione diversa da quella del piano di controllo del servizio Azure Kubernetes

Un altro motivo per cui un pool di agenti potrebbe essere aggiornato in modo imprevisto è quando non è presente alcuna configurazione di manutenzione definita o se è stata eliminata. In tal caso, un cluster con aggiornamento automatico , ma senza una configurazione di manutenzione viene aggiornato in momenti casuali (pianificazione di fallback), che potrebbe essere un intervallo di tempo indesiderato.

Esistono procedure consigliate per le configurazioni di manutenzione?

È consigliabile impostare la pianificazione degli aggiornamenti della sicurezza del sistema operativo del nodo con una frequenza settimanale se si usa il canale NodeImage, perché viene fornita una nuova immagine del nodo ogni settimana. È inoltre possibile acconsentire esplicitamente al canale SecurityPatch per ricevere gli aggiornamenti giornalieri per la sicurezza.

È possibile impostare la pianificazione dell'aggiornamento automatico su una cadenza mensile per rimanere aggiornati con i criteri di supporto di Kubernetes N-2.

Per una descrizione dettagliata delle procedure consigliate per l'aggiornamento e altre considerazioni, vedere Linee guida per l'aggiornamento e le patch del servizio Azure Kubernetes.

È possibile configurare tutti i cluster in una singola sottoscrizione per usare la stessa configurazione di manutenzione?

Non è consigliabile usare la stessa configurazione di manutenzione per più cluster in una singola sottoscrizione, perché in questo modo possono verificarsi errori di limitazione delle richieste ARM che causano l'esito negativo degli aggiornamenti del cluster. Per evitare questi errori, è invece consigliabile sfalsare le finestre di manutenzione per ogni cluster.

Perché i pool di nodi sono stati aggiornati due volte durante la stessa finestra di manutenzione?

Se una versione più recente dell'immagine del nodo diventa disponibile durante la finestra di manutenzione, il servizio Azure Kubernetes esegue un secondo aggiornamento per assicurarsi che i pool di nodi eseguano la versione più recente. Questo comportamento è normale e non indica un problema.

Per iniziare ad aggiornare il cluster del servizio Azure Kubernetes, vedere Opzioni di aggiornamento per i cluster del servizio Azure Kubernetes.