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 viene inserito un nuovo nodo di lavoro Kubernetes con una build più recente 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.
Operazioni preliminari
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 .
Usare la procedura seguente per aggiornare la versione di Kubernetes:
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
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 è.
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:
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}
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.
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}
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 riuscito 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 eseguito l'aggiornamento di 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 e cluster e carichi di lavoro del servizio Azure Kubernetes.