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.
La procédure générale de connexion d’un cluster Kubernetes à Azure Arc sont les suivantes :
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.
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. 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.
- Une ressource Kubernetes
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.
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 :
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
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.Supprimez le déploiement Arc précédent du cluster Kubernetes sous-jacent.
Avec un accès réseau au cluster Kubernetes sous-jacent, connectez le cluster dans la nouvelle région.
Vérifiez que le cluster connecté à Arc s’exécute correctement dans la nouvelle région :
- Exécutez
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
et vérifiez que la valeur deconnectivityStatus
estConnected
. - Exécutez
kubectl get deployments,pods -n azure-arc
pour vérifier que tous les agents sont correctement déployés.
- Exécutez
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
- Parcourez notre guide de démarrage rapide pour connecter un cluster Kubernetes à Azure Arc.
- Consultez les notes de publication pour voir des informations sur les dernières versions d’agent.
- En savoir plus sur la mise à niveau des agents Kubernetes avec Azure Arc.
- Apprenez-en davantage sur la création de connexions entre votre cluster et un référentiel Git en guise de ressource de configuration intégrant Kubernetes avec Azure Arc.