Mettre à niveau les agents Kubernetes avec Azure Arc

Kubernetes avec Azure Arc fournit des fonctionnalités de mise à niveau à la fois automatique et manuelle pour ses agents afin qu’ils soient mis à niveau vers la dernière version. Si vous désactivez la mise à niveau automatique et optez pour la mise à niveau manuelle, une Stratégie de prise en charge des versions s’applique aux agents Arc et aux clusters Kubernetes sous-jacents.

Activer ou désactiver la mise à niveau automatique lors de la connexion d’un cluster à Azure Arc

Kubernetes avec Azure Arc fournit à ses agents des fonctionnalités de mise à niveau automatique prêtes à l’emploi. Quand la mise à niveau automatique est activée, l’agent interroge Azure toutes les heures pour rechercher une version plus récente. Si une version plus récente est disponible, il déclenche une mise à niveau du chart Helm pour les agents Azure Arc.

Lorsque vous connectez un cluster à Azure Arc, le paramètre par défaut consiste à activer la mise à niveau automatique.

La commande suivante permet de connecter un cluster à Azure Arc avec la mise à niveau automatique activée :

az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest

Important

Veillez à autoriser la connectivité à tous les points de terminaison requis. En particulier, la connectivité à dl.k8s.io est requise pour les mises à niveau automatiques.

Pour refuser la mise à niveau automatique, spécifiez le paramètre --disable-auto-upgrade lors de la connexion du cluster à Azure Arc.

La commande suivante permet de connecter un cluster à Azure Arc avec la mise à niveau automatique désactivée :

az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest --disable-auto-upgrade

Conseil

Si vous prévoyez de désactiver la mise à niveau automatique, tenez compte de la stratégie de prise en charge des versions pour Kubernetes avec Azure Arc.

Activer ou désactiver la mise à niveau automatique après la connexion d’un cluster à Azure Arc

Une fois que vous avez connecté un cluster à Azure Arc, vous pouvez modifier l’option de mise à niveau automatique à l’aide de la commande az connectedk8s update et en définissant le paramètre --auto-upgrade sur true ou false.

La commande suivante désactive la mise à niveau automatique pour un cluster connecté :

az connectedk8s update --name AzureArcTest1 --resource-group AzureArcTest --auto-upgrade false

Mettre à niveau manuellement les agents

Si vous avez désactivé la mise à niveau automatique, vous pouvez lancer des mises à niveau manuellement pour les agents à l’aide de la commande az connectedk8s upgrade. Dans ce cas, vous devez spécifier la version vers laquelle vous souhaitez effectuer la mise à niveau.

Kubernetes avec Azure Arc suit le schéma de gestion sémantique de versions standard de MAJOR.MINOR.PATCH pour la gestion de versions de ses agents. Chaque chiffre de la version indique la compatibilité générale avec la version précédente :

  • Les versions majeures changent en cas de mises à jour d’API incompatibles ou quand la compatibilité descendante est éventuellement rompue.
  • Les versions mineures changent quand les changements apportés aux fonctionnalités ont une compatibilité descendante avec d’autres versions mineures.
  • Les versions des patchs changent quand des résolutions de bogues ont une compatibilité descendante.

Même si le calendrier peut varier, une nouvelle version mineure des agents Kubernetes avec Azure Arc est publiée environ une fois par mois.

La commande suivante permet de mettre à niveau manuellement les agents vers la version 1.8.14 :

az connectedk8s upgrade -g AzureArcTest1 -n AzureArcTest --agent-version 1.8.14

Vérifier la version de l’agent

Pour répertorier les clusters connectés et la version de l’agent signalée, utilisez la commande suivante :

az connectedk8s list --query '[].{name:name,rg:resourceGroup,id:id,version:agentVersion}'

Vérifier si la mise à niveau automatique est activée sur un cluster

Pour vérifier si un cluster est activé pour la mise à niveau automatique, exécutez la commande kubectl suivante. Notez que la configuration de la mise à niveau automatique n’est pas disponible dans l’API publique pour Kubernetes avec Azure Arc.

kubectl -n azure-arc get cm azure-clusterconfig -o jsonpath="{.data['AZURE_ARC_AUTOUPDATE']}"

Politique de support des versions

Quand vous créez des demandes de support, la stratégie suivante de prise en charge des versions s’applique à Kubernetes avec Azure Arc :

  • Les agents Kubernetes avec Azure Arc ont une fenêtre de support de « N-2 », où « N » correspond à la dernière version mineure des agents.

    • Par exemple, si Kubernetes avec Azure Arc introduit la version 0.28.a aujourd’hui, les versions 0.28.a, 0.28.b, 0.27.c, 0.27.d, 0.26.e et 0.26.f sont prises en charge.
  • Les clusters Kubernetes qui se connectent à Azure Arc ont une fenêtre de support de « N-2 », où « N » correspond à la dernière version mineure stable du Kubernetes amont.

    • Par exemple, si Kubernetes introduit la version 1.20.a aujourd’hui, les versions 1.20.a, 1.20.b, 1.19.c, 1.19.d, 1.18.e et 1.18.f sont prises en charge.

Si vous créez une demande de support et que vous utilisez une version qui n’est pas comprise dans la stratégie de support (antérieure aux versions prises en charge « N-2 » des agents et des clusters Kubernetes en amont), vous êtes invité à mettre à niveau les clusters et les agents vers une version prise en charge.

Étapes suivantes