Tutoriel : Mettre à niveau les nœuds de l’hôte de conteneur Azure Linux

L’hôte de conteneur Azure Linux propose deux mécanismes de mise à jour : au moyen d’images de nœud Azure Linux mises à jour et au moyen de mises à jour automatiques des packages.

Dans le cadre du cycle de vie de l’application et du cluster, nous vous recommandons de tenir vos clusters à jour et sécurisés en activant les mises à niveau pour votre cluster. Vous pouvez activer les mises à niveau automatiques des images de nœud. De cette façon, votre cluster va utiliser la dernière image de l’hôte de conteneur Azure Linux lors du scale-up. Vous pouvez également mettre à niveau manuellement l’image de nœud sur un cluster.

Dans ce tutoriel, le dernier d’une série de cinq, vous allez apprendre à :

  • Mettre à niveau manuellement l’image de nœud sur un cluster.
  • Mettre à niveau automatiquement un cluster hôte de conteneur Azure Linux.
  • Déployer Kured dans un cluster hôte de conteneur Azure Linux.

Remarque

Toute opération de mise à niveau, effectuée manuellement ou automatiquement, met à niveau la version de l’image de nœud si elle n’est pas la plus récente. La dernière version est subordonnée à une version complète d’AKS, et peut être déterminée en visitant le suivi des mises en production AKS.

Prérequis

  • Dans les tutoriels précédents, vous avez créé et déployé un cluster hôte de conteneur Azure Linux. Pour suivre ce tutoriel, vous avez besoin d’un cluster existant. Si vous n’avez pas effectué cette étape et que vous souhaitez suivre la procédure, commencez par le Tutoriel 1 : Créer un cluster avec l’hôte de conteneur Azure Linux pour AKS.
  • Vous devez disposer de la dernière version d’Azure CLI. Recherchez la version en utilisant la commande az --version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Mettre à niveau manuellement votre cluster

Pour mettre à niveau manuellement l’image de nœud sur un cluster, vous pouvez exécuter az aks nodepool upgrade :

az aks nodepool upgrade \
    --resource-group testAzureLinuxResourceGroup \
    --cluster-name testAzureLinuxCluster \
    --name myAzureLinuxNodepool \
    --node-image-only

Mettre à niveau automatiquement votre cluster

La mise à niveau automatique fournit un mécanisme permettant de définir une configuration une fois pour toutes, puis de ne plus y penser, qui offre des avantages tangibles en termes de temps et de coûts opérationnels. En activant la mise à niveau automatique, vous pouvez être certain que vos clusters sont à jour et qu’ils bénéficient des fonctionnalités de l’hôte de conteneur Azure Linux ou des correctifs les plus récents d’AKS et de Kubernetes en amont.

Les mises à niveau effectuées automatiquement sont fonctionnellement identiques aux mises à niveau manuelles. Le canal sélectionné détermine la planification des mises à niveau. Lorsque vous apportez des modifications à la mise à niveau automatique, prévoyez 24 heures pour que les modifications prennent effet.

Pour définir le canal de mise à niveau automatique sur un cluster existant, mettez à jour le paramètre --auto-upgrade-channel (comme dans l’exemple suivant) qui met automatiquement à niveau le cluster avec le dernier correctif pris en charge d’une version mineure précédente.

az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --auto-upgrade-channel stable

Pour plus d’informations sur les canaux de mise à niveau, consultez Utilisation de la mise à niveau automatique de cluster.

Activer les mises à niveau automatiques des packages

De manière similaire à la mise à niveau automatique de vos clusters, vous pouvez utiliser le même ensemble une fois et oublier le mécanisme de mise à niveau de package en activant le canal de mise à niveau node-os. Si les mises à niveau automatiques de package sont activées, le service systemd dnf-automatic s’exécute quotidiennement et installe les packages mis à jour qui ont été publiés.

Pour définir le canal de mise à niveau node-os sur un cluster existant, mettez à jour le paramètre --node-os-upgrade-channel (comme dans l’exemple suivant) qui active automatiquement les mises à niveau de package.

az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --node-os-upgrade-channel Unmanaged

Activer un démon de redémarrage automatique

Pour protéger vos clusters, les mises à jour de sécurité sont automatiquement appliquées aux nœuds Azure Linux. Ces mises à jour incluent les correctifs de sécurité du système d’exploitation, les mises à jour du noyau et les mises à niveau de package. Certaines de ces mises à jour nécessitent un redémarrage du nœud pour terminer le processus. AKS ne redémarre pas automatiquement ces nœuds pour terminer le processus de mise à jour.

Nous vous recommandons d’activer un démon de redémarrage automatique, tel que Kured, pour que votre cluster puisse redémarrer les nœuds qui ont fait l’objet de mises à jour du noyau. Pour déployer le DaemonSet Kured dans un cluster hôte du conteneur Azure Linux, consultez Déployer Kured dans un cluster AKS.

Nettoyer les ressources

Ce tutoriel étant le dernier de la série, vous souhaiterez peut-être supprimer votre cluster hôte de conteneur Azure Linux. Les nœuds Kubernetes s’exécutent sur des machines virtuelles Azure et continuent d’occasionner des frais même si vous n’utilisez pas le cluster. Utilisez la commande az group delete pour supprimer le groupe de ressources et toutes les ressources associées.

az group delete --name testAzureLinuxCluster --yes --no-wait

Étapes suivantes

Dans ce tutoriel, vous avez mis à niveau votre cluster hôte de conteneur Azure Linux. Vous avez appris à :

  • Mettre à niveau manuellement l’image de nœud sur un cluster.
  • Mettre à niveau automatiquement un cluster hôte de conteneur Azure Linux.
  • Déployer kured dans un cluster hôte de conteneur Azure Linux.

Pour plus d’informations, consultez la vue d’ensemble de l’hôte de conteneur Azure Linux.