Mise à jour d’un cluster Azure Kubernetes Service (AKS)
S’applique à : Azure Local, version 23H2
Dans le cadre de la gestion du cycle de vie de l’application et du cluster, vous pouvez effectuer une mise à niveau vers la dernière version disponible de Kubernetes. Une mise à niveau implique un déplacement vers une version plus récente de Kubernetes, l’application des mises à jour de version du système d’exploitation (mise à jour corrective) du système d’exploitation ou des deux. AKS Arc prend en charge la mise à niveau (ou la mise à jour corrective) de nœuds dans un cluster de charge de travail avec les dernières mises à jour du système d’exploitation et du runtime.
Toutes les mises à niveau sont exécutées de manière continue et propagée pour garantir une disponibilité ininterrompue des charges de travail. Quand un nouveau nœud Worker Kubernetes avec une build plus récente est introduit dans le cluster, les ressources sont déplacées de l’ancien nœud vers le nouveau nœud. Une fois cette opération terminée, l’ancien nœud est désactivé et supprimé du cluster.
Avant de commencer
Si vous utilisez l’interface de ligne de commande Azure, cet article nécessite Azure CLI version 2.34.1 ou ultérieure. Exécutez az --version
pour trouver la version. Si vous devez installer ou mettre à niveau l’interface CLI, consultez Installer Azure CLI.
Rechercher les mises à niveau disponibles
Vérifiez quelles versions Kubernetes sont disponibles pour votre cluster à l’aide de la commande suivante :
az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster
L’exemple de sortie suivant montre la version actuelle sous la forme 1.24.11 et répertorie les versions disponibles sous upgrades
:
{
"agentPoolProfiles": [
{
"kubernetesVersion": "1.24.11",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
}
],
"controlPlaneProfile": {
"kubernetesVersion": "1.24.11",
"name": "aksarc-testupgrade",
"osType": "Linux",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
},
...
"provisioningState": "Succeeded",
...
}
Mettre à niveau la version de Kubernetes
Quand vous mettez à niveau un cluster AKS pris en charge, vous ne pouvez pas ignorer les versions mineures de Kubernetes. Vous devez effectuer toutes les mises à niveau séquentiellement par numéro de version principale. Par exemple, les mises à niveau de 1.24.x vers 1.25.x ou 1.25.x vers 1.26.x sont autorisées. 1.24.x à 1.26.x n’est pas autorisé.
Remarque
Si aucun patch n’est spécifié, le cluster est automatiquement mis à niveau vers le dernier patch GA de la version mineure spécifiée. Par exemple, la définition --kubernetes-version
de la valeur 1.25 entraîne la mise à niveau du cluster vers la version 1.25.7.
Vous pouvez mettre à niveau votre cluster à l’aide de la commande suivante :
az aksarc upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version <KUBERNETES_VERSION>
Vérifiez que la mise à niveau a réussi à l’aide de la show
commande :
az aksarc show --resource-group myResourceGroup --name myAKSCluster
L’exemple de sortie suivant montre que le cluster exécute désormais la version 1.25.7 :
{
"extendedLocation": {
"name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",
"type": "CustomLocation"
},
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",
"name": "default",
"properties": {
"agentPoolProfiles": [
{
}
],
"controlPlane": {
"availabilityZones": null,
"controlPlaneEndpoint": {
"hostIp": null,
"port": null
},
"count": 1,
"linuxProfile": {
"ssh": {
"publicKeys": null
}
},
"name": null,
"nodeImageVersion": null,
"osSku": "CBLMariner",
"osType": "Linux",
"vmSize": "Standard_A4_v2"
},
"kubernetesVersion": "1.25.7",
...
"provisioningState": "Succeeded",
...
},
....
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"
}
Important
Lorsque vous effectuez une mise à niveau à partir d’une version non prise en charge qui ignore deux ou plusieurs versions mineures, la mise à niveau ne peut pas garantir une fonctionnalité appropriée. Si votre version est considérablement obsolète, nous vous recommandons de recréer votre cluster à la place.
Pendant une opération de mise à niveau, les indicateurs et currentState
les provisioningState
indicateurs affichent un message de mise à niveau pour refléter le processus en cours. Toutefois, si l’opération expire, provisioningState
affiche Échec, tout en currentState
continuant à afficher la mise à niveau à mesure que la mise à niveau se poursuit en arrière-plan. Aucune action n’est requise ; la mise à niveau se poursuit jusqu’à ce qu’elle soit terminée.
Mettre à jour la version du système d’exploitation
La mise à jour des nœuds Worker vers une version plus récente de l’image de nœud sans modifier la version de Kubernetes fonctionne uniquement si la nouvelle image ne nécessite pas une autre version de Kubernetes. Actuellement, AKS Arc ne prend pas en charge les mises à jour node-image uniquement sur toutes les versions de Kubernetes prises en charge. Si vous devez mettre à jour l’image de nœud, vous devez mettre à niveau le cluster vers la dernière version de Kubernetes pour vous assurer que toutes les mises à jour d’images de nœud sont incorporées.
Important
Lorsque vous tentez d’utiliser l’indicateur node-image-only
, vous recevez un message indiquant que cette fonctionnalité n’est pas encore prise en charge.