Mettre à jour les images Kubernetes et de nœuds sur plusieurs clusters à l’aide d’Azure Kubernetes Fleet Manager
Les administrateurs de plateforme qui gèrent un grand nombre de clusters rencontrent souvent des problèmes lors de la préproduction des mises à jour de plusieurs clusters (par exemple, mettre à niveau les versions des images de système d’exploitation de nœud ou de Kubernetes) de façon sûre et prévisible. Pour résoudre ce problème, Azure Kubernetes Fleet Manager (Fleet) vous permet d’orchestrer les mises à jour sur plusieurs clusters à l’aide d’exécutions de mises à jour.
Les exécutions de mises à jour se composent d’étapes, de groupes et de stratégies, et peuvent être appliquées manuellement pour les mises à jour ponctuelles, ou automatiquement pour les mises à jour régulières en cours à l’aide de profils de mise à niveau automatique. Toutes les exécutions de mises à jour (manuelles ou automatisées) respectent les fenêtres de maintenance des clusters membres.
Ce guide explique comment configurer et exécuter manuellement des exécutions de mises à jour.
Prérequis
Lisez la vue d’ensemble des concepts de cette fonctionnalité, qui fournit une explication des stratégies, des exécutions, des phases et des groupes de mises à jour référencés dans ce guide.
Vous devez disposer d’une ressource Fleet avec un ou plusieurs clusters membres. Si ce n’est pas le cas, suivez le guide de démarrage rapide pour créer une ressource Fleet et rejoindre des clusters Azure Kubernetes Service (AKS) en tant que membres.
Définissez les variables d’environnement suivantes :
export GROUP=<resource-group> export FLEET=<fleet-name>
Si vous suivez les instructions Azure CLI de cet article, vous devez avoir Azure CLI version 2.58.0 ou ultérieure installé. Pour installer ou mettre à niveau Azure CLI, consultez Installer l’interface de ligne de commande Microsoft Azure.
Vous avez également besoin de l’extension Azure CLI
fleet
, que vous pouvez installer en exécutant la commande suivante :az extension add --name fleet
Exécutez la commande
az extension update
pour effectuer une mise à jour vers la dernière version de l’extension publiée :az extension update --name fleet
Création d’exécutions de mises à jour
Remarque
Les exécutions de mises à jour respectent les fenêtres de maintenance planifiée que vous définissez au niveau du cluster AKS. Pour plus d’informations, consultez Maintenance planifiée sur plusieurs clusters membres, qui explique comment les exécutions de mises à jour gèrent les clusters membres configurés avec des fenêtres de maintenance planifiée.
Les exécutions de mises à jour prennent en charge deux options pour la séquence de mise à niveau des clusters :
- Un par un : si cela ne vous intéresse pas de contrôler la séquence de mise à niveau des clusters,
one-by-one
offre une approche simple pour mettre à niveau tous les clusters membres de la flotte en séquence l’un après l’autre. - Contrôler la séquence des clusters à l’aide de groupes et de phases de mises à jour : si vous souhaitez contrôler la séquence de mise à niveau des clusters, vous pouvez structurer les clusters membres dans des groupes de mises à jour et des phases de mise à jour. Vous pouvez stocker cette séquence comme modèle sous la forme d’une stratégie de mise à jour. Vous pouvez créer des exécutions de mises à jour ultérieurement avec les stratégies de mise à jour au lieu de définir la séquence chaque fois que vous avez besoin de créer une exécution de mises à jour.
Mettez à jour tous les clusters un par un
Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.
Dans le menu du service, sous Paramètres, sélectionnez Mise à jour multi-cluster>Créer une exécution.
Entrez un nom pour l’exécution de mises à jour, puis sélectionnez Un par un comme type de mise à niveau.
Sélectionnez l’une des options suivantes pour l’Étendue de mise à niveau :
- Version de Kubernetes pour les pools de nœuds et de plan de contrôle
- Version de Kubernetes pour uniquement le plan de contrôle du cluster
- Version de l’image de nœud uniquement
Sélectionnez l’une des options suivantes pour l’Image de nœud :
- Dernière image : met à jour chaque cluster AKS dans l’exécution de mises à jour avec la dernière image disponible pour ce cluster dans sa région.
- Image cohérente : car il est possible pour une exécution de mises à jour d’avoir des clusters AKS dans plusieurs régions où les dernières images de nœud disponibles peuvent être différentes (consultez le suivi de publications pour plus d’informations). L’exécution de la mise à jour sélectionne l’image courante la plus récente dans toutes ces régions pour obtenir une cohérence.
Sélectionnez Créer pour créer l’exécution de mises à jour.
Affecter des clusters pour mettre à jour les groupes et les phases
Les groupes et les phases de mise à jour fournissent un contrôle supplémentaire sur la séquence qui s’exécute lorsque vous mettez à jour les clusters. Dans une phase de mise à jour, les mises à jour sont appliquées à tous les différents groupes de mises à jour en parallèle. Dans un groupe de mises à jour, les clusters membres sont mis à jour de manière séquentielle.
Vous pouvez affecter un cluster membre à un groupe de mises à jour spécifique de l’une des deux manières suivantes :
- Affecter au groupe lors de l’ajout d’un cluster membre à la flotte.
- Affecter un membre de flotte existant à un groupe de mises à jour.
Affecter au groupe lors de l’ajout d’un cluster membre à la flotte
Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.
Dans le menu du service, sous Paramètres, sélectionnez Clusters membres>Ajouter.
Sélectionnez le cluster que vous souhaitez ajouter, puis sélectionnez Suivant : Vérifier + ajouter.
Entrez le nom du groupe de mises à jour auquel vous souhaitez affecter le cluster, puis sélectionnez Ajouter.
Affecter un membre de flotte existant à un groupe de mises à jour
Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.
Dans le menu du service, sous Paramètres, sélectionnez Clusters membres.
Sélectionnez le cluster ou les clusters que vous souhaitez affecter à un groupe de mises à jour, puis sélectionnez Affecter un groupe de mises à jour
Entrez le nom du groupe de mises à jour auquel vous souhaitez affecter le cluster, puis sélectionnez Affecter.
Remarque
Un membre de flotte ne peut être qu’une partie d’un groupe de mises à jour, tandis qu’un groupe de mises à jour peut avoir plusieurs membres de flotte qui lui sont affectés. Un groupe de mises à jour lui-même n’est pas un type de ressource distinct. Les groupes de mises à jour sont simplement des chaînes représentant des références des membres de la flotte. Par conséquent, si tous les membres de flotte avec des références à un groupe de mise à jour commun sont supprimés, ce groupe de mises à jour spécifique cesse également d’exister.
Définir une exécution et des phases de mise à jour
Vous pouvez définir une exécution de mises à jour à l’aide de phases de mise à jour pour déterminer l’ordre séquentiel de la mise en application des mises à jour sur différents groupes de mises à jour. Par exemple, une première phase de mises à jour peut mettre à jour les clusters membres de l’environnement de test, et une deuxième phase de mises à jour met à jour les clusters membres de l’environnement de production. Vous pouvez également spécifier un temps d’attente entre les étapes de mise à jour.
Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.
Dans le menu du service, sous Paramètres, sélectionnez Mise à jour multi-cluster>Créer une exécution.
Entrez un nom pour l’exécution de mises à jour, puis sélectionnez Phases pour le type de séquence de mise à jour.
Sélectionnez Créer une phase, puis entrez un nom pour la phase et le temps d’attente entre les phases.
Sélectionnez les groupes de mises à jour que vous souhaitez inclure dans cette phase. Vous pouvez également spécifier l’ordre des groupes de mises à jour si vous souhaitez les mettre à jour dans une séquence spécifique. Sélectionnez Créer lorsque vous avez terminé.
Sélectionnez l’une des options suivantes pour l’Étendue de mise à niveau :
- Version de Kubernetes pour les pools de nœuds et de plan de contrôle
- Version de Kubernetes pour uniquement le plan de contrôle du cluster
- Version de l’image de nœud uniquement
Sélectionnez l’une des options suivantes pour l’Image de nœud :
- Dernière image : met à jour chaque cluster AKS dans l’exécution de mises à jour avec la dernière image disponible pour ce cluster dans sa région.
- Image cohérente : car il est possible pour une exécution de mises à jour d’avoir des clusters AKS dans plusieurs régions où les dernières images de nœud disponibles peuvent être différentes (consultez le suivi de publications pour plus d’informations). L’exécution de la mise à jour sélectionne l’image courante la plus récente dans toutes ces régions pour obtenir une cohérence.
Sélectionnez Créer pour créer l’exécution de mises à jour.
Spécifier et organiser les phases à chaque création d’exécution de mise à jour peut être répétitif et laborieux. Les stratégies de mise à jour simplifient ce processus en vous permettant de stocker des modèles pour les exécutions de mises à jour. Pour plus d’informations, consultez Mise à jour de la création et de l’utilisation de stratégie.
Dans le menu Mise à jour multi-cluster, sélectionnez l’exécution de mises à jour, puis Démarrer.
Créer une exécution de mise à jour à l’aide de stratégies de mise à jour
La création d’une exécution de mises à jour vous oblige à spécifier les phases, les groupes et l’ordre à chaque fois. Les stratégies de mise à jour simplifient ce processus en vous permettant de stocker des modèles pour les exécutions de mises à jour.
Remarque
Il est possible de créer plusieurs exécutions de mises à jour avec des noms uniques de la même stratégie de mise à jour.
Vous pouvez créer une stratégie de mise à jour à l’aide de l’une des méthodes suivantes :
- Enregistrer une stratégie de mise à jour lors de la création d’une exécution de mises à jour en utilisant le portail Azure.
- Créer une stratégie de mise à jour, puis la référencer lors de la création d’une exécution de mises à jour.
Enregistrer une stratégie de mise à jour lors de la création d’une exécution de mises à jour
Enregistrez une stratégie de mise à jour lors de la création d’une exécution de mises à jour dans le portail Azure :
Créer une stratégie de mise à jour et la référencer lors de la création d’une exécution de mises à jour
Gérer une exécution de mises à jour
Les sections suivantes expliquent comment gérer une exécution de mises à jour à l’aide du portail Azure et d’Azure CLI.
Dans la page Mise à jour multi-cluster de la ressource de flotte, vous pouvez Démarrer une exécution de mises à jour dont l’état est Non démarré ou Échec :
Dans la page Mise à jour multi-cluster de la ressource de flotte, vous pouvez Arrêter une exécution de mises à jour En cours :
Dans n’importe quelle exécution de mises à jour dont l’état est Non démarré, Échec ou En cours, vous pouvez sélectionner n’importe quelle phase et ignorer la mise à niveau :
Vous pouvez également ignorer la mise à niveau au niveau du groupe de mise à jour ou du cluster membre.
Pour plus d’informations sur les exécutions, les phases et les groupes, consultez Vue d’ensemble conceptuelle des états d’exécution de mises à jour et du comportement pour les ignorer.
Étapes suivantes
En savoir plus sur Azure Kubernetes Fleet Manager.
Azure Kubernetes Service