Esercitazione: Aggiornare i nodi host contenitore Linux di Azure

L'host contenitore Linux di Azure fornisce aggiornamenti tramite due meccanismi: immagini dei nodi Linux di Azure aggiornate e aggiornamenti automatici dei pacchetti.

Nell'ambito del ciclo di vita dell'applicazione e del cluster, è consigliabile mantenere aggiornati e protetti i cluster abilitando gli aggiornamenti per il cluster. È possibile abilitare gli aggiornamenti automatici delle immagini dei nodi per garantire che i cluster utilizzino l'immagine più recente di Azure Linux Container Host quando vengono scalati. È anche possibile aggiornare manualmente l'immagine del nodo in un cluster.

In questa esercitazione, parte cinque di cinque, si apprenderà come:

  • Aggiornare manualmente l'immagine del nodo in un cluster.
  • Aggiornare automaticamente un cluster Host contenitore Linux di Azure.
  • Distribuire Kured in un cluster Host contenitore Linux di Azure.

I comandi di questa esercitazione usano le variabili di ambiente impostate in Tutorial 1: Creare un cluster con l'host contenitore Linux Azure per il servizio Azure Kubernetes e Tutorial 2: Aggiungere un pool di nodi Linux Azure al cluster del servizio Azure Kubernetes esistente.

Annotazioni

Qualsiasi operazione di aggiornamento, eseguita manualmente o automaticamente, aggiorna la versione dell'immagine del nodo se non è già presente in quella più recente. La versione più recente dipende da una versione completa del servizio Azure Kubernetes e può essere determinata visitando lo strumento di rilevamento delle versioni del servizio Azure Kubernetes.

Prerequisiti

Aggiornare manualmente il cluster

Aggiornare manualmente l'immagine del nodo in un cluster usando il az aks nodepool upgrade comando .

az aks nodepool upgrade --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --name $NODE_POOL_NAME

Aggiornare automaticamente il cluster

Gli aggiornamenti automatici sono funzionalmente uguali agli aggiornamenti manuali. Il canale selezionato determina la tempistica degli aggiornamenti. Quando si apportano modifiche all'aggiornamento automatico, attendere 24 ore per rendere effettive le modifiche.

Impostare il canale di aggiornamento automatico su un cluster esistente usando il comando az aks update con il parametro --auto-upgrade-channel. L'esempio seguente imposta il canale di aggiornamento automatico su stable per un cluster esistente:

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --auto-upgrade-channel stable

Output di esempio:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "autoUpgradeChannel": "stable",
    "provisioningState": "Succeeded"
  }
}

Per altre informazioni sui canali di aggiornamento, vedere Uso dell'aggiornamento automatico del cluster.

Abilitare gli aggiornamenti automatici dei pacchetti

È anche possibile abilitare gli aggiornamenti automatici dei pacchetti. Se gli aggiornamenti automatici dei pacchetti sono abilitati, il servizio dnf-automatic systemd viene eseguito ogni giorno e installa tutti i pacchetti aggiornati pubblicati.

Usare il comando az aks update con il parametro --node-os-upgrade-channel per impostare il canale di aggiornamento del sistema operativo del nodo in un cluster esistente. L'esempio seguente imposta il canale di aggiornamento del sistema operativo del nodo su Unmanaged per un cluster esistente:

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel Unmanaged

Output di esempio:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "nodeOsUpgradeChannel": "Unmanaged",
    "provisioningState": "Succeeded"
  }
}

Abilitare un daemon di riavvio automatico

Per proteggere i cluster, gli aggiornamenti di sicurezza vengono applicati automaticamente ai nodi Azure Linux. Questi aggiornamenti includono correzioni della sicurezza del sistema operativo, aggiornamenti del kernel e aggiornamenti dei pacchetti. Alcuni di questi aggiornamenti richiedono il riavvio di un nodo per completare il processo. Il servizio Azure Kubernetes non riavvia automaticamente i nodi per completare il processo di aggiornamento.

È consigliabile abilitare un daemon di riavvio automatico, ad esempio Kured, in modo che il cluster possa riavviare i nodi che hanno eseguito gli aggiornamenti del kernel. Per distribuire Kured DaemonSet in un cluster Host contenitore Linux di Azure, vedere Distribuire Kured in un cluster del servizio Azure Kubernetes.

Pulire le risorse

Poiché questa esercitazione è l'ultima parte della serie, potresti voler eliminare il cluster Azure Linux Container Host. I nodi Kubernetes vengono eseguiti in Azure macchine virtuali (VM) e continuano a incorrere in addebiti anche se non si usa il cluster.

Eliminare il gruppo di risorse Azure e tutte le risorse correlate usando il comando az group delete.

az group delete --name $RESOURCE_GROUP --yes --no-wait

Passaggi successivi

In questa esercitazione è stato aggiornato il cluster Host contenitore Linux di Azure.

Per altre informazioni sull'host contenitore Linux di Azure, vedere Panoramica dell'host contenitore Linux di Azure.