Mettre à niveau les images de nœud Azure Kubernetes service (AKS)
Azure Kubernetes Service (AKS) fournit régulièrement de nouvelles images de nœud. Il est donc utile de fréquemment mettre à niveau vos images de nœud pour utiliser les fonctionnalités AKS les plus récentes. Les images de nœud Linux sont mises à jour chaque semaine et les images de nœud Windows le sont chaque mois. Les annonces de mise à niveau d’images sont incluses dans les Notes de publication d’AKS et le déploiement de ces mises à jour dans toutes les régions peut prendre jusqu’à une semaine. Les mises à niveau d’images de nœud peuvent également être effectuées automatiquement et planifiées à l’aide d’une maintenance planifiée. Pour plus d’informations, consultez Mettre à niveau automatiquement les images de nœud.
Cet article explique comment mettre à niveau des images de nœud de cluster AKS et comment mettre à jour des images de pool de nœuds sans mettre à niveau la version Kubernetes. Pour plus d’informations sur la mise à niveau de la version Kubernetes pour votre cluster, consultez Mettre à niveau un cluster AKS.
Notes
Le cluster AKS doit utiliser des groupes de machines virtuelles identiques pour les nœuds.
Il n’est pas possible de passer à une version antérieure d’une image de nœud (par exemple AKSUbuntu-2204 vers AKSUbuntu-1804 ou AKSUbuntu-2204-202308.01.0 vers AKSUbuntu-2204-202307.27.0).
Rechercher les mises à niveau d’images de nœud disponibles
Vérifiez les mises à niveau d’image de nœud disponibles à l’aide de la commande az aks nodepool get-upgrades
.
az aks nodepool get-upgrades \
--nodepool-name mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
La sortie affiche la latestNodeImageVersion
, comme dans l’exemple suivant :
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
"kubernetesVersion": "1.17.11",
"latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
"name": "default",
"osType": "Linux",
"resourceGroup": "myResourceGroup",
"type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
"upgrades": null
}
L’exemple de sortie affiche AKSUbuntu-1604-2020.10.28
en tant que latestNodeImageVersion
.
Comparez la dernière version avec la version actuelle de votre image de nœud à l’aide de la commande az aks nodepool show
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
Vous devez obtenir un résultat semblable à l’exemple qui suit :
"AKSUbuntu-1604-2020.10.08"
Dans cet exemple, il existe une mise à niveau de version d’image de nœud disponible, qui passe de la version AKSUbuntu-1604-2020.10.08
à la version AKSUbuntu-1604-2020.10.28
.
Mettre à niveau toutes les images de nœud dans l’ensemble des pools de nœuds
Mettez à niveau l’image de nœud en tirant parti de la az aks upgrade
commande avec l’indicateur --node-image-only
.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-image-only
Vous pouvez vérifier l’état des images de nœud à l’aide de la commande kubectl get nodes
.
Notes
Cette commande peut différer légèrement selon l’interpréteur de commandes que vous utilisez. Pour plus d’informations sur les environnements Windows et PowerShell, consultez la documentation Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Une fois la mise à niveau terminée, utilisez la commande az aks show
pour obtenir des détails sur le pool de nœuds mis à jour. L’image de nœud actuelle est affichée dans la propriété nodeImageVersion
.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster
Mettre à niveau un pool de nœuds spécifique
Pour mettre à jour l’image du système d’exploitation du pool de nœuds sans effectuer de mise à niveau du cluster Kubernetes, utilisez la commande az aks nodepool upgrade
avec l’indicateur --node-image-only
.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-image-only
Vous pouvez vérifier l’état des images de nœud avec la commande kubectl get nodes
.
Notes
Cette commande peut différer légèrement selon l’interpréteur de commandes que vous utilisez. Pour plus d’informations sur les environnements Windows et PowerShell, consultez la documentation Kubernetes JSONPath.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Une fois la mise à niveau terminée, utilisez la commande az aks nodepool show
pour obtenir des détails sur le pool de nœuds mis à jour. L’image de nœud actuelle est affichée dans la propriété nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Mettre à niveau les images de nœud à l’aide de l’augmentation du nombre de nœuds
Pour accélérer le processus de mise à niveau des images de nœud, vous pouvez mettre à niveau vos images de nœud à l’aide d’une valeur personnalisable d’augmentation du nombre de nœuds. Par défaut, AKS utilise un nœud supplémentaire pour configurer les mises à niveau.
Si vous souhaitez augmenter la vitesse des mises à niveau, utilisez la commande az aks nodepool update
avec l’indicateur --max-surge
pour configurer le nombre de nœuds utilisés pour les mises à niveau. Pour en savoir plus sur les compromis des différents paramètres --max-surge
, consultez Personnaliser la mise à niveau avec l’augmentation du nombre de nœuds.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--max-surge 33% \
--no-wait
Vous pouvez vérifier l’état des images de nœud avec la commande kubectl get nodes
.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Utilisez az aks nodepool show
pour récupérer les détails du pool de nœuds mis à jour. L’image de nœud actuelle est affichée dans la propriété nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Étapes suivantes
- Pour plus d’informations sur les images de nœud les plus récentes, consultez les notes de publication AKS.
- Apprenez à mettre à niveau la version de Kubernetes avec la section Mettre à niveau un cluster AKS.
- Appliquez automatiquement des mises à niveau de pools de nœuds et de clusters avec GitHub Actions.
- En savoir plus sur les pools de nœuds multiples avec Créer plusieurs pools de nœuds.
- Pour obtenir une discussion détaillée sur les meilleures pratiques de mise à niveau et d’autres considérations, consultez Instructions de patch et de mise à niveau AKS.
Azure Kubernetes Service
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour