Partager via


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.

Capture d’écran du volet du Portail Azure d’une ressource de flotte illustrant des images de nœud et des versions Kubernetes de cluster membre utilisées dans tous les pools de nœuds de clusters membres.

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

  1. Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.

  2. Dans le menu du service, sous Paramètres, sélectionnez Mise à jour multi-cluster>Créer une exécution.

  3. Entrez un nom pour l’exécution de mises à jour, puis sélectionnez Un par un comme type de mise à niveau.

    Capture d’écran du volet du Portail Azure liée à la création d’exécutions de mises à jour qui mettent à jour des clusters un par an dans Azure Kubernetes Fleet Manager.

  4. 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
  5. 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.

    Capture d’écran du volet du Portail Azure illustrant la création d’exécutions de mises à jour. La section d’étendue de mise à niveau s’affiche.

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

  1. Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.

  2. Dans le menu du service, sous Paramètres, sélectionnez Clusters membres>Ajouter.

    Capture d’écran de la page du Portail Azure pour des clusters membres Azure Kubernetes Fleet Manager.

  3. Sélectionnez le cluster que vous souhaitez ajouter, puis sélectionnez Suivant : Vérifier + ajouter.

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

  1. Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.

  2. Dans le menu du service, sous Paramètres, sélectionnez Clusters membres.

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

    Capture d’écran de la page du Portail Azure permettant d’attribuer des clusters membres existants à un groupe.

  4. Entrez le nom du groupe de mises à jour auquel vous souhaitez affecter le cluster, puis sélectionnez Affecter.

    Capture d’écran de la page du Portail Azure pour des clusters membres qui montre le formulaire de mise à jour du groupe d’un cluster membre.

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.

  1. Dans le portail Azure, accédez à votre ressource Azure Kubernetes Fleet Manager.

  2. Dans le menu du service, sous Paramètres, sélectionnez Mise à jour multi-cluster>Créer une exécution.

  3. Entrez un nom pour l’exécution de mises à jour, puis sélectionnez Phases pour le type de séquence de mise à jour.

    Capture d’écran de la page du portail Azure pour choisir le mode Phases dans l’exécution de la mise à jour.

  4. Sélectionnez Créer une phase, puis entrez un nom pour la phase et le temps d’attente entre les phases.

    Capture d’écran de la page du Portail Azure permettant de créer une phase et de définir un temps d’attente.

  5. 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é.

    Capture d’écran de la page du Portail Azure pour la création de phases qui montre la sélection de groupes de mises à jour.

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

    Capture d’écran du volet du Portail Azure illustrant la création d’exécutions de mises à jour. La section d’étendue de mise à niveau s’affiche.

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

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

  • Enregistrez une stratégie de mise à jour lors de la création d’une exécution de mises à jour dans le portail Azure :

    Capture d’écran du Portail Azure illustrant des phases d’exécution de mise à jour étant enregistrées en tant que stratégie de mise à jour.

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

  1. Accédez à la page Mise à jour multi-cluster, puis sélectionnez Stratégies>Créer une stratégie :

    Capture d’écran du portail Azure illustrant la création d’une stratégie de mise à jour.

  2. Configurez les détails de la stratégie de mise à jour, puis sélectionnez Créer.

  3. Référencez la stratégie de mise à jour lors de la création de nouvelles exécutions de mises à jour :

    Capture d’écran du Portail Azure illustrant la création d’une exécution de mise à jour. Le bouton « Copier à partir d’une stratégie existante » est mis en évidence.

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 :

    Capture d’écran du portail Azure montrant comment démarrer une exécution de mise à jour dans l’état « Non démarré ».

  • Dans la page Mise à jour multi-cluster de la ressource de flotte, vous pouvez Arrêter une exécution de mises à jour En cours :

    Capture d’écran du portail Azure montrant comment arrêter une exécution de mise à jour dans l’état « 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 :

    Capture d’écran du portail Azure montrant comment ignorer la mise à niveau d’une phase spécifique dans une exécution de mise à jour.

    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.