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 (servizio Azure Kubernetes).

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

  • La manutenzione avviata dal servizio Azure Kubernetes prevede le versioni settimanali eseguite dal servizio Azure Kubernetes per mantenere aggiornato il cluster con le funzionalità e le correzioni più recenti.
  • La manutenzione avviata dall'utente include aggiornamenti automatici del cluster e aggiornamenti automatici del sistema operativo del nodo.

Quando si usa la funzionalità di manutenzione pianificata nel servizio Azure Kubernetes, è possibile eseguire entrambi i tipi di manutenzione in una cadenza di propria scelta per ridurre al minimo l'impatto del carico di lavoro. È 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.

Operazioni preliminari

  • Questo articolo presuppone che si disponga di un cluster del servizio Azure Kubernetes esistente. Se non si ha un cluster del servizio Azure Kubernetes, vedere Creare un cluster del servizio Azure Kubernetes.
  • Se si usa l'interfaccia della riga di comando di Azure, eseguire l'aggiornamento alla versione più recente usando il az upgrade comando .

Considerazioni

Quando si usa la manutenzione pianificata, si applicano 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 urgenti o critiche. Queste operazioni di manutenzione possono essere eseguite anche durante i notAllowedTime periodi o notAllowedDates definiti nella configurazione.
  • Le operazioni di manutenzione vengono considerate solo con il massimo sforzo e non sono garantite 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 Azure Kubernetes. Le versioni possono richiedere fino a due settimane per l'implementazione in tutte le aree dal momento iniziale della spedizione, a causa delle procedure di distribuzione sicure di Azure.

    Scegliere default di 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 lo strumento di rilevamento 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 default configurazione. 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 default configurazione. 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 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. È possibile passare alla default configurazione aksManagedAutoUpgradeSchedule o aksManagedNodeOSUpgradeSchedule usando il az aks maintenanceconfiguration update comando .

Creare una finestra di manutenzione

Nota

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

Le finestre di manutenzione pianificata sono specificate nell'ora UTC (Coordinated Universal Time).

Una finestra di manutenzione default presenta le proprietà seguenti:

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

Una finestra di manutenzione aksManagedAutoUpgradeSchedule o aksManagedNodeOSUpgradeSchedule presenta le proprietà seguenti:

Nome Descrizione Default value
utcOffset Fuso orario per la 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, AbsoluteMonthlye 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 che la manutenzione non può essere eseguita, determinata dalle start proprietà figlio e end . È applicabile solo quando si crea la finestra di manutenzione usando un file di configurazione. Non applicabile

Tipi di pianificazione

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

WeeklyI tipi di pianificazione , AbsoluteMonthlye sono applicabili solo alle aksManagedClusterAutoUpgradeSchedule configurazioni e RelativeMonthlyaksManagedNodeOSUpgradeSchedule . Daily le pianificazioni sono applicabili solo alle aksManagedNodeOSUpgradeSchedule configurazioni.

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

Una Daily pianificazione potrebbe essere simile a "ogni tre giorni":

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

Una Weekly pianificazione potrebbe essere simile a "ogni due settimane il venerdì":

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

Una AbsoluteMonthly pianificazione potrebbe essere simile a "ogni tre mesi il primo giorno del mese":

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

Una RelativeMonthly pianificazione potrebbe essere simile a "ogni due mesi l'ultimo lunedì":

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

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

Aggiungere una configurazione della finestra di manutenzione

Aggiungere una configurazione della finestra di manutenzione a un cluster del servizio Azure Kubernetes usando il az aks maintenanceconfiguration add comando .

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

# Add a new default configuration
az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 1

# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00

Nota

Quando si usa un default tipo di configurazione, è possibile omettere il --start-time parametro per consentire la manutenzione in qualsiasi momento durante un giorno.

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 per pianificare l'esecuzione default della manutenzione dalle 2:00 alle 3:00 ogni lunedì:

az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2

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 az aks maintenanceconfiguration list comando :

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

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

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

az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --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 della manutenzione nel cluster del servizio Azure Kubernetes usando il az aks maintenanceconfiguration delete comando .

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

az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule

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 periodi notAllowedTime o notAllowedDates?

    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 informazioni nelle versioni settimanali per verificare se corrisponde alla pianificazione della manutenzione. Per visualizzare lo stato degli aggiornamenti automatici, cercare i log attività nel cluster. È anche possibile cercare eventi specifici correlati all'aggiornamento, come indicato in Aggiornare un cluster del servizio Azure Kubernetes.

    Il servizio Azure Kubernetes genera anche eventi di Griglia di eventi di Azure correlati 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, aksManagedAutoUpgradeSchedulee aksManagedNodeOSUpgradeSchedule. Se le finestre si sovrappongono, 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 per prendere in considerazione la finestra di manutenzione. È consigliabile almeno 24 ore 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 all'esterno 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, all'esterno della finestra di manutenzione. Questo scenario è denominato "aggiornamento di recupero". Evita l'aggiornamento dei pool di agenti con una versione diversa dal piano di controllo del servizio Azure Kubernetes.

  • Esistono procedure consigliate per le configurazioni di manutenzione?

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

    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, vedi Linee guida per l'aggiornamento e le patch del servizio Azure Kubernetes.

Passaggi successivi