Esercitazione: Aggiornare Kubernetes nel servizio Azure Kubernetes abilitato da Azure Arc

Si applica a: servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server

Nell'ambito della gestione del ciclo di vita dell'applicazione e del cluster, è possibile eseguire l'aggiornamento alla versione più recente disponibile di Kubernetes quando si usa il servizio Azure Kubernetes abilitato da Azure Arc.

Questa esercitazione, parte sette di sette, descrive come aggiornare un cluster Kubernetes. Si apprenderà come:

  • Identificare le versioni corrente e disponibili di Kubernetes
  • Aggiornare la versione kubernetes dei nodi Kubernetes
  • Aggiornare la versione del sistema operativo dei nodi Kubernetes
  • Aggiornare un cluster Kubernetes alla versione più recente
  • Convalidare la corretta esecuzione dell'aggiornamento
  • Rimuovere un cluster Kubernetes

Quali sono le opzioni di aggiornamento disponibili?

Esistono diversi tipi di aggiornamenti, che possono verificarsi indipendentemente l'uno dall'altro e in determinate combinazioni supportate:

  • Aggiornare l'host del servizio Azure Kubernetes alla versione più recente.
  • Aggiornare un cluster del carico di lavoro del servizio Azure Kubernetes a una nuova versione di Kubernetes.
  • Aggiornare gli host del contenitore del servizio Azure Kubernetes a una versione più recente del sistema operativo.
  • Aggiornamento combinato del sistema operativo e della versione di Kubernetes.

Tutti gli aggiornamenti vengono eseguiti in un flusso in sequenza per evitare interruzioni nella disponibilità del carico di lavoro. Quando un nuovo nodo di lavoro Kubernetes con una build più recente viene inserito nel cluster, le risorse vengono spostate dal nodo precedente al nuovo nodo. Al termine, il nodo precedente viene rimosso e rimosso dal cluster.

Gli esempi di questa esercitazione presuppongono che il cluster del carico di lavoro, mycluster, sia attualmente in Kubernetes versione 1.18.8 e usi una versione del sistema operativo superiore a 30 giorni prima.

Prima di iniziare

Nelle esercitazioni precedenti si è appreso come creare un pacchetto di un'applicazione in un'immagine del contenitore, caricarla nel Registro Azure Container e creare un cluster Kubernetes. L'applicazione è stata quindi distribuita nel cluster. Se questi passaggi non sono stati completati, iniziare con l'esercitazione 1 - Creare immagini del contenitore.

Aggiornare la versione kubernetes di un cluster del carico di lavoro

È necessario aggiornare prima i moduli di PowerShell e l'host del servizio Azure Kubernetes prima di aggiornare la versione di Kubernetes.

Importante

L'aggiornamento di un cluster del carico di lavoro a una versione più recente di Kubernetes funziona solo se la versione di Kubernetes di destinazione è supportata dalla versione corrente del sistema operativo. Per verificare la presenza delle combinazioni di versioni supportate del sistema operativo e di Kubernetes, usare il Get-AksHciUpdates comando .

Per aggiornare la versione di Kubernetes, seguire questa procedura:

  1. Per ottenere la versione corrente del cluster del carico di lavoro, eseguire il comando seguente:

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Per ottenere le versioni disponibili di Kubernetes, eseguire il comando seguente:

    Get-AksHciKubernetesVersion
    
    OrchestratorType OrchestratorVersion OS      IsPreview
    ---------------- ------------------- --      ---------
    Kubernetes       v1.19.9             Linux       False
    Kubernetes       v1.19.11            Linux       False
    Kubernetes       v1.20.5             Linux       False
    Kubernetes       v1.20.7             Linux       False
    Kubernetes       v1.21.1             Linux       False
    Kubernetes       v1.19.9             Windows     False
    Kubernetes       v1.19.11            Windows     False
    Kubernetes       v1.20.5             Windows     False
    Kubernetes       v1.20.7             Windows     False
    Kubernetes       v1.21.1             Windows     False
    

    L'output mostra le versioni di Kubernetes e i sistemi operativi in cui è disponibile la versione. È possibile notare che sono disponibili altre versioni di aggiornamento. Tuttavia, quando si aggiornano i cluster, non è possibile ignorare le versioni. Ad esempio, v1.18.xx --> v1.19.xx è consentito, ma v1.18.xx --> v1.20.xx non è.

  3. Avviare l'aggiornamento della versione di Kubernetes

    Per aggiornare la versione di Kubernetes, eseguire il comando seguente:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Nota

    Questo comando aggiorna solo i nodi del cluster esistenti nel cluster del mycluster carico di lavoro alla nuova versione di Kubernetes.

Aggiornare solo la versione del sistema operativo

Importante

È possibile aggiornare un cluster del carico di lavoro a una versione più recente del sistema operativo senza modificare la versione di Kubernetes, ma funziona solo se la nuova versione del sistema operativo non richiede una versione diversa di Kubernetes.

Usare la procedura descritta nell'esempio seguente per aggiornare la versione del sistema operativo:

  1. Per ottenere gli aggiornamenti del cluster del carico di lavoro disponibili, eseguire il comando seguente:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                operatingsystemversion
    -------                             -----------------                ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9  @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5  @{mariner=April 2021; windows=April 2021}
    
  2. Per avviare l'aggiornamento della versione del sistema operativo, eseguire il comando seguente:

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Aggiornare sia il sistema operativo che la versione di Kubernetes

Importante

È supportato l'aggiornamento di un cluster del carico di lavoro a una versione più recente del sistema operativo e di Kubernetes.

L'esempio seguente presuppone che sia disponibile una nuova versione di Kubernetes e che il numero di versione corrente sia v1.20.7.

  1. Per ottenere tutti gli aggiornamenti del cluster del carico di lavoro disponibili, eseguire il comando seguente:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                  operatingsystemversion
    -------                             -----------------                  ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9    @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5    @{mariner=April 2021; windows=April 2021}
    
  2. Per avviare l'aggiornamento del cluster del carico di lavoro, eseguire il comando seguente:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Convalidare un aggiornamento

Verificare che l'aggiornamento sia stato eseguito correttamente usando il comando Get-AksHciCluster come indicato di seguito:

Get-AksHciCluster -name mycluster

L'output di esempio seguente mostra che il cluster esegue KubernetesVersion v1.21.1:

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Eliminare il cluster

Poiché questa esercitazione è l'ultima parte della serie, è possibile eliminare il cluster. Usare il comando Remove-AksHciCluster per rimuovere il gruppo di risorse, il servizio contenitore e tutte le risorse correlate:

Remove-AksHciCluster -name mycluster

Passaggi successivi

In questa esercitazione è stato aggiornato Kubernetes in un cluster Kubernetes nel servizio Azure Kubernetes abilitato da Arc. Si è appreso come:

  • Identificare le versioni corrente e disponibili di Kubernetes
  • Aggiornare la versione kubernetes dei nodi Kubernetes
  • Aggiornare la versione del sistema operativo dei nodi Kubernetes
  • Aggiornare un cluster Kubernetes alla versione più recente
  • Convalidare la corretta esecuzione dell'aggiornamento

Per altre informazioni sul servizio Azure Kubernetes abilitato da Azure Arc, vedere Panoramica del servizio Azure Kubernetes e cluster e carichi di lavoro.