Partager via


Vue d’ensemble d’un agent Kubernetes avec Azure Arc

Kubernetes compatible avec Azure Arc fournit un plan de contrôle centralisé et cohérent pour gérer la stratégie, la gouvernance et la sécurité sur des clusters Kubernetes dans des environnements différents.

Les agents Azure Arc sont déployés sur des clusters Kubernetes lorsque vous les connectez à Azure Arc. Cet article offre une vue d’ensemble de ces agents.

Déployer des agents sur votre cluster

La plupart des centres de données locaux appliquent des règles de réseau strictes qui empêchent les communications entrantes sur le pare-feu de limite du réseau. Kubernetes avec Azure Arc fonctionne avec ces restrictions en n’exigeant pas de ports entrants sur le pare-feu. Les agents Azure Arc requièrent une communication sortante vers une liste définie de points de terminaison réseau.

Ce diagramme offre un affichage de niveau élevé des composants Azure Arc. Les clusters Kubernetes dans des centres de données locaux ou différents clouds sont connectés à Azure via les agents Azure Arc. Cette connexion permet aux clusters d’être managés dans Azure en utilisant des outils de gestion et des services Azure. Vous pouvez également accéder aux clusters via des outils de gestion hors connexion.

Diagramme offrant une vue d’ensemble architecturale des agents Kubernetes compatibles avec Azure Arc.

La procédure générale de connexion d’un cluster Kubernetes à Azure Arc sont les suivantes :

  1. Créez un cluster Kubernetes sur l’infrastructure de votre choix (VMware vSphere, Amazon Web Services, Google Cloud Platform, ou toute distribution Kubernetes certifiée par la Cloud Native Computing Foundation (CNCF)). Le cluster doit déjà exister avant de le connecter à Azure Arc.

  2. Démarrez l’inscription Azure Arc pour votre cluster. Ce processus déploie le graphique Helm de l’agent sur le cluster. Après cela, les nœuds de cluster initient une communication sortante vers Microsoft Container Registry en extrayant les images nécessaires à la création des agents suivants dans l’espace de noms azure-arc :

    Agent Description
    deployment.apps/clusteridentityoperator Actuellement, Kubernetes compatible avec Azure Arc prend uniquement en charge les identités affectées par le système. clusteridentityoperator initie la première communication sortante. La première communication extrait le certificat MSI (Managed Service Identity) utilisé par d’autres agents pour la communication avec Azure.
    deployment.apps/config-agent Surveille le cluster connecté pour les ressources de configuration du contrôle de code source appliquées au cluster. Met à jour l’état de conformité.
    deployment.apps/controller-manager Opérateur d’opérateurs orchestrant les interactions entre les composants Azure Arc.
    deployment.apps/metrics-agent Collecte les métriques d’autres agents Arc pour vérifier que les performances sont optimales.
    deployment.apps/cluster-metadata-operator Recueille les métadonnées du cluster, notamment la version du cluster, le nombre de nœuds et la version de l’agent Azure Arc.
    deployment.apps/resource-sync-agent Synchronise les métadonnées de cluster mentionnées ci-dessus dans Azure.
    deployment.apps/flux-logs-agent Collecte des journaux des opérateurs de flux déployés dans le cadre de la configuration du contrôle de code source.
    deployment.apps/extension-manager Installe et gère le cycle de vie des graphiques Helm d’extension.
    deployment.apps/kube-aad-proxy Utilisé pour l’authentification des demandes envoyées au cluster à l’aide de la connexion au cluster.
    deployment.apps/clusterconnect-agent Agent proxy inverse qui permet à la fonctionnalité de connexion au cluster de donner accès au apiserver du cluster. Composant facultatif déployé uniquement si la fonctionnalité cluster connect est activée.
    deployment.apps/guard Serveur webhook d’authentification et d’autorisation utilisé pour le contrôle d’accès en fonction du rôle (RBAC) Microsoft Entra. Composant facultatif déployé uniquement si Azure RBACest activé sur le cluster.
  3. Une fois tous les pods d’agent Kubernetes avec Azure Arc dans l’état Running, vérifiez que votre cluster est connecté à Azure Arc. Vous devriez voir :

    • Une ressource Kubernetes connectedClusters compatible avec Azure Arc dans Azure Resource Manager. Azure suit cette ressource comme une projection du cluster Kubernetes managés par le client, plutôt que de suivre le cluster Kubernetes lui-même.
    • Métadonnées de cluster (telles que la version Kubernetes, la version de l’agent et le nombre de nœuds) apparaissant sur la ressource Kubernetes compatible avec Azure Arc sous forme de métadonnées.

Pour plus d’informations sur le déploiement des agents dans un cluster, voir Démarrage rapide : Connecter un cluster Kubernetes existant à Azure Arc.

Déplacer des clusters Kubernetes avec Arc entre régions Azure

Dans certaines circonstances, vous voulez déplacer vos clusters Kubernetes avec Arc vers une autre région. Par exemple, vous pouvez déployer des fonctionnalités ou des services qui ne sont disponibles que dans des régions spécifiques, ou vous devez changer de région en raison des exigences de gouvernance internes, ou de considérations liées à la planification des capacités.

Lorsque vous déplacez un cluster connecté vers une nouvelle région, vous supprimez la connectedClusters ressource Azure Resource Manager dans la région source, puis déployez les agents pour recréer la ressource connectedClusters dans la région cible. Pour les configurations de contrôle de code source, configurations fluxet extensions au sein du cluster, vous devez enregistrer des détails sur les ressources, puis recréer les ressources enfants dans la nouvelle ressource de cluster.

Avant de commencer, vérifiez que les ressources Kubernetes avec Azure Arc (Microsoft.Kubernetes/connectedClusters) et les ressources de configuration Kubernetes compatibles avec Azure Arc (Microsoft.KubernetesConfiguration/SourceControlConfigurations, Microsoft.KubernetesConfiguration/Extensions, Microsoft.KubernetesConfiguration/FluxConfigurations) sont prises en charge dans la région cible.

  1. Exécutez une commande LIST pour obtenir toutes les ressources de configuration dans le cluster source (le cluster à déplacer) et enregistrez le corps de la réponse :

    Remarque

    Les LIST/GET des ressources de configuration ne retournent pas ConfigurationProtectedSettings. Dans ce cas, la seule option consiste à enregistrer le corps de la demande d’origine et à le réutiliser lors de la création des ressources dans la nouvelle région.

  2. Supprimez le déploiement Arc précédent du cluster Kubernetes sous-jacent.

  3. Avec un accès réseau au cluster Kubernetes sous-jacent, connectez le cluster dans la nouvelle région.

  4. Vérifiez que le cluster connecté à Arc s’exécute correctement dans la nouvelle région :

    1. Exécutez az connectedk8s show -n <connected-cluster-name> -g <resource-group> et vérifiez que la valeur de connectivityStatus est Connected.
    2. Exécutez kubectl get deployments,pods -n azure-arc pour vérifier que tous les agents sont correctement déployés.
  5. En utilisant le corps de la réponse que vous avez enregistré, recréez sur le cluster cible chacune des ressources de configuration obtenues auprès du cluster source avec la commande LIST. Pour confirmer, comparez les résultats d’une liste de toutes les ressources de configuration du cluster cible avec la réponse LIST d’origine du cluster source.

Étapes suivantes