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-version1.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.

Étapes suivantes