Orchestrez les mises à jour sur plusieurs clusters à l’aide d’Azure Kubernetes Fleet Manager
Les administrateurs de plateforme qui gèrent des flottes Kubernetes avec un grand nombre de clusters rencontrent souvent des problèmes lors de la préproduction de leurs mises à jour sur plusieurs clusters de façon sûre et prévisible. Pour résoudre ce problème, Kubernetes Fleet Manager (Fleet) vous permet d’orchestrer les mises à jour sur plusieurs clusters à l’aide d’exécutions de mise à jour, d’étapes, de groupes et de stratégies.
Prérequis
Lisez la vue d’ensemble des concepts de cette fonctionnalité, qui fournit une explication des stratégies, des exécutions, des index et des groupes de mises à jour référencés dans ce document.
Vous devez disposer d’une ressource de flotte 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. Cette procédure pas à pas illustre une ressource de flotte avec cinq clusters membres AKS comme exemple.
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 avez besoin d’Azure CLI version 2.53.1 ou ultérieure installée. 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 suivante pour effectuer la mise à jour vers la dernière version de l’extension publiée :
az extension update --name fleet
Mettez à jour tous les clusters un par un
Dans la page de votre ressource Azure Kubernetes Fleet Manager, accédez au menu mise à jour multi-cluster, puis sélectionnez Créer.
Vous pouvez choisir Un par un ou Étapes.
Pour étendue de mise à niveau, vous pouvez choisir de mettre à jour à la fois la version Kubernetes et la version d’image de nœud, ou vous ne pouvez mettre à jour que votre version d’image Node uniquement.
Pour l’image de nœud, les options suivantes sont disponibles :
- Dernière : met à jour chaque cluster AKS dans l’exécution de mise à jour vers la dernière image disponible pour ce cluster dans sa région.
- Cohérent : comme il est possible pour une exécution de mise à jour d’avoir des clusters AKS dans plusieurs régions où les dernières images de nœud disponibles peuvent être différentes (vérifiez suivi de mise en production 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.
Mettre à jour les clusters dans un ordre spécifique
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 un index 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 séquentiellement.
Affecter un cluster à un groupe de mises à jour
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. Par exemple :
- La deuxième méthode consiste à affecter un membre de flotte existant à un groupe de mises à jour. Par exemple :
Remarque
Tout membre de la flotte ne peut être qu’une partie d’un groupe de mises à jour, mais un groupe de mises à jour peut avoir plusieurs membres de flotte à l’intérieur de celui-ci. 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 mise à jour à l’aide des index de mise à jour afin de déterminer séquentiellement l’ordre d’application des mises à jour vers différents groupes de mises à jour. Par exemple, un premier index de mise à jour peut mettre à jour les clusters membres de l’environnement de test, et un deuxième index de mise à jour met ensuite à 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 la page de votre ressource Azure Kubernetes Fleet Manager, accédez à Mise à jour multi-cluster, puis sélectionnez Créer.
Sélectionnez étapes, puis choisissez image Node (dernière) + version Kubernetes ou image Node (dernière), en fonction de l’étendue de mise à niveau souhaitée.
Sous étapes, sélectionnez Créer une étape. Vous pouvez maintenant spécifier le nom de l’étape et la durée d’attente après chaque étape.
Choisissez les groupes de mises à jour que vous souhaitez inclure dans cette phase.
Après avoir défini toutes vos phases et les triez à l’aide de la Monter et Descendre des contrôles, passez à la création de l’exécution de la mise à jour.
Dans le menu Mise à jour multi-cluster, choisissez l’exécution de mise à jour, puis sélectionnez Démarrer.
Créer une exécution de mise à jour à l’aide de stratégies de mise à jour
Dans la section précédente, la création d’une exécution de mise à jour nécessite les étapes, les groupes et leur ordre à spécifier à chaque fois. Les stratégies de mise à jour simplifient cette opération 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 mise à jour avec des noms uniques à partir de la même stratégie de mise à jour.
Lorsque vous créez vos exécutions de mise à jour, vous avez la possibilité de créer une stratégie de mise à jour en même temps, en enregistrant efficacement l’exécution en tant que modèle pour les exécutions de mises à jour suivantes.