Partager via


Automatiser les mises à niveau des images de nœud et de Kubernetes dans plusieurs clusters en utilisant Azure Kubernetes Fleet Manager (préversion)

Les administrateurs de plateforme qui gèrent un grand nombre de clusters ont souvent des problèmes pour préparer les mises à jour de plusieurs clusters (par exemple, la mise à niveau des versions de Kubernetes ou d’image de système d’exploitation de nœud) de manière sécurisée et prévisible. Pour résoudre ces problèmes, Azure Kubernetes Fleet Manager (Fleet) vous permet d’orchestrer des mises à jour sur plusieurs clusters en utilisant des exécutions de mise à jour.

Les exécutions de mise à jour se composent de phases, de groupes et de stratégies. Elles peuvent être appliquées manuellement, pour les mises à jour ponctuelles, ou automatiquement, pour les mises à jour régulières en utilisant des profils de mise à niveau automatique. Toutes les exécutions de mise à jour (manuelles ou automatiques) respectent les fenêtres de maintenance des clusters membres.

Cet article décrit l’utilisation des profils de mise à niveau automatique pour déclencher automatiquement les exécutions de mise à jour quand de nouvelles versions de Kubernetes ou d’image de nœud sont disponibles.

Important

Les fonctionnalités d’évaluation d’Azure Kubernetes Fleet Manager sont disponibles en libre-service et font l’objet d’un abonnement. Les préversions sont fournies « en l’état » et « en fonction des disponibilités », et sont exclues des contrats de niveau de service et de la garantie limitée. Les préversions d’Azure Kubernetes Fleet Manager sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Telles quelles, ces fonctionnalités ne sont pas destinées à une utilisation en production.

Prérequis

  • Lisez la vue d’ensemble conceptuelle des profils de mise à niveau automatique, qui fournit une explication des configurations référencées dans ce guide.

  • Vous devez avoir 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.

  • Si vous souhaitez utiliser une stratégie de mise à jour, vous devez en configurer une en utilisant les instructions de l’article d’aide sur l’exécution de mise à jour. Vous avez besoin de l’identificateur de ressource de stratégie de mise à jour pour l’utiliser avec un profil de mise à niveau automatique.

  • Définissez les variables d’environnement suivantes :

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Vous avez besoin d’Azure CLI version 2.61.0 ou ultérieure. 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, version 1.3.0 ou ultérieure, 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
    

Remarque

Les exécutions de mise à jour déclenchées par la mise à niveau automatique respectent les fenêtres de maintenance planifiée que vous définissez au niveau du cluster AKS. Pour obtenir plus d’informations, consultez Maintenance planifiée sur plusieurs clusters membres, qui explique comment les exécutions de mises à jour gèrent des clusters membres qui ont été configurés avec des fenêtres de maintenance planifiées.

Créer des profils de mise à niveau automatique

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

  2. Dans le menu du service, sous Paramètres, sélectionnezMise à jour multi-clusters>Profils de mise à niveau automatique.

  3. Sélectionnez Créer, saisissez un nom pour le profil, puis indiquez si le profil est Activé ou non. Les profils de mise à niveau automatique désactivés ne se déclenchent pas lorsque de nouvelles versions sont publiées.

  4. Sélectionnez la séquence de mise à jour Étapes ou Une par une.

    Capture d’écran du volet du portail Microsoft Azure d’Azure Kubernetes Fleet Manager pour la création d’un profil de mise à niveau automatique qui met à jour les clusters à l’aide d’une stratégie.

  5. Sélectionnez l’une des options suivantes pour le Canal :

    • Stable : mettez à jour les clusters avec des correctifs pour la version mineure de N-1 Kubernetes en disponibilité générale.
    • Rapid : mettez à jour les clusters avec des correctifs pour la dernière version mineure (N) Kubernetes en disponibilité générale.
    • Image de nœud : mettez à jour la version de l’image du nœud uniquement.
  6. Si vous sélectionnez le canal Stable ou Rapide, vous pouvez choisir la façon dont les mises à jour d’image de nœud sont appliquées :

    • Dernière image : met à jour chaque cluster AKS dans le profil de mise à niveau automatique vers la dernière image disponible pour ce cluster dans sa région Azure.
    • Image cohérente : il est possible qu’une mise à niveau automatique ait des clusters AKS dans plusieurs régions Azure où les dernières images de nœud disponibles peuvent être différentes (consultez l’outil de suivi des versions pour plus d’informations). La sélection de cette option garantit que la mise à niveau automatique sélectionne la dernière image commune dans toutes les régions Azure pour assurer la cohérence.

    Capture d’écran du volet portail Microsoft d’Azure Azure Kubernetes Fleet Manager pour la création d’un profil de mise à niveau automatique, définissant la façon dont la mise à jour est déclenchée.

    Remarque

    Le canal Image de nœud utilise toujours une image cohérente.

  7. Si vous avez sélectionné une séquence de mise à jour à l’aide de Étapes, sélectionnez ou créez une Stratégie.

    Capture d’écran du volet portail Microsoft Azure d’Azure Kubernetes Fleet Manager pour la création d’un profil de mise à niveau automatique, en sélectionnant la stratégie de mise à jour à utiliser.

  8. Sélectionnez Créer pour créer le profil de mise à niveau automatique.

Voir le profil de mise à niveau automatique

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

  2. Dans le menu du service, sous Paramètres, sélectionnezMise à jour multi-clusters>Profils de mise à niveau automatique.

    Capture d’écran du volet du portail Microsoft Azure d’Azure Kubernetes Fleet Manager pour afficher les profils de mise à niveau automatique disponibles.

  3. Sélectionnez le profil de mise à niveau automatique souhaité pour afficher sa configuration.

    Capture d’écran du volet Portail Microsoft Azure d’Azure Kubernetes Fleet Manager montrant la configuration d’un profil de mise à niveau automatique unique.

Supprimer un profil de mise à niveau automatique

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

  2. Dans le menu du service, sous Paramètres, sélectionnezMise à jour multi-clusters>Profils de mise à niveau automatique.

    Capture d’écran du volet du portail Microsoft Azure d’Azure Kubernetes Fleet Manager pour afficher les profils de mise à niveau automatique disponibles.

  3. Sélectionnez le profil souhaité dans la liste, puis sélectionnez Supprimer pour supprimer le profil.

Remarque

La suppression d’un profil de mise à niveau automatique pour une exécution de mise à jour en cours n’affecte pas l’exécution de mise à jour existante qui continuera.

Valider la mise à niveau automatique

Les mises à niveau automatiques se produisent uniquement quand de nouvelles images de nœud ou de Kubernetes sont disponibles. Lorsque la mise à niveau automatique est déclenchée, une exécution de mise à jour liée est créée. Vous pouvez donc utiliser gestion de l’exécution de mise à jour pour voir les résultats de la mise à niveau automatique.

Vous pouvez aussi consulter vos versions existantes comme base de référence de la façon suivante.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Une fois la mise à jour terminée, vous pouvez réexécuter ces commandes et afficher les versions mises à jour déployées.