Mise à jour d’un cluster Azure Kubernetes Service (AKS)
S’applique à : Azure Stack HCI, version 23H2
Dans le cadre de la gestion du cycle de vie des applications et des clusters, vous souhaiterez peut-être effectuer une mise à niveau vers la dernière version disponible de Kubernetes. Une mise à niveau implique le passage à une version plus récente de Kubernetes, l’application de mises à jour de version du système d’exploitation (mise à jour corrective) ou les deux. AKS Arc prend en charge la mise à niveau (ou la mise à jour corrective) des 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 Azure CLI, 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 les versions kubernetes 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 en tant que 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
Lorsque 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. Les versions 1.24.x à 1.26.x ne sont pas autorisées.
Notes
Si aucun correctif n’est spécifié, le cluster effectue automatiquement la mise à niveau vers le dernier correctif en disponibilité générale de la version mineure spécifiée. Par exemple, la définition de la valeur --kubernetes-version
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 au moins deux versions mineures, la mise à niveau ne peut pas garantir les fonctionnalités appropriées. 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 provisioningState
indicateurs et currentState
affichent un message De mise à niveau pour refléter le processus en cours. Toutefois, si l’opération expire, provisioningState
affiche Échec, tandis que currentState
continue d’afficher la mise à niveau à mesure que la mise à niveau se poursuit en arrière-plan. Aucune action n’est requise ; la mise à niveau continue 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 version différente de Kubernetes. Actuellement, AKS Arc ne prend pas en charge les mises à jour d’image de nœud 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’image 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.