Overzicht van Kubernetes-agent met Azure Arc
Kubernetes met Azure Arc biedt een gecentraliseerd, consistent besturingsvlak voor het beheren van beleid, governance en beveiliging in Kubernetes-clusters in verschillende omgevingen.
Azure Arc-agents worden geïmplementeerd op Kubernetes-clusters wanneer u ze verbindt met Azure Arc. Dit artikel bevat een overzicht van deze agents.
Agents implementeren in uw cluster
De meeste on-premises datacenters dwingen strikte netwerkregels af die binnenkomende communicatie op de firewall van de netwerkgrens voorkomen. Kubernetes met Azure Arc werkt met deze beperkingen door geen binnenkomende poorten op de firewall te vereisen. Azure Arc-agents vereisen uitgaande communicatie naar een set netwerkeindpunten.
Dit diagram biedt een algemeen overzicht van Azure Arc-onderdelen. Kubernetes-clusters in on-premises datacenters of verschillende clouds zijn verbonden met Azure via de Azure Arc-agents. Met deze verbinding kunnen de clusters in Azure worden beheerd met behulp van beheerhulpprogramma's en Azure-services. De clusters kunnen ook worden geopend via offlinebeheerprogramma's.
De volgende stappen op hoog niveau zijn betrokken bij het verbinden van een Kubernetes-cluster met Azure Arc:
Maak een Kubernetes-cluster op uw keuze voor infrastructuur (VMware vSphere, Amazon Web Services, Google Cloud Platform of een CNCF-gecertificeerde Kubernetes-distributie ( Cloud Native Computing Foundation). Het cluster moet al bestaan voordat u het verbindt met Azure Arc.
Start de Azure Arc-registratie voor uw cluster. Met dit proces wordt de Helm-agentgrafiek op het cluster geïmplementeerd. Daarna starten de clusterknooppunten een uitgaande communicatie naar het Microsoft Container Registry, waarbij de installatiekopieën worden opgehaald die nodig zijn om de volgende agents in de
azure-arc
naamruimte te maken:Agent Beschrijving deployment.apps/clusteridentityoperator
Kubernetes met Azure Arc ondersteunt momenteel alleen door het systeem toegewezen identiteiten. clusteridentityoperator
start de eerste uitgaande communicatie. Met deze eerste communicatie wordt het MSI-certificaat (Managed Service Identity) opgehaald dat door andere agents wordt gebruikt voor communicatie met Azure.deployment.apps/config-agent
Controleert het verbonden cluster voor bronbeheerconfiguratiebronnen die zijn toegepast op het cluster. Hiermee wordt de nalevingsstatus bijgewerkt. deployment.apps/controller-manager
Een operator van operators die interacties tussen Azure Arc-onderdelen indelen. deployment.apps/metrics-agent
Verzamelt metrische gegevens van andere Arc-agents om de optimale prestaties te controleren. deployment.apps/cluster-metadata-operator
Verzamelt de clustermetagegevens, inclusief clusterversie, het aantal knooppunten, en de versie van de Azure Arc-agent. deployment.apps/resource-sync-agent
Synchroniseert de bovenstaande clustermetagegevens naar Azure. deployment.apps/flux-logs-agent
Verzamelt logboeken van de Flux-operators die zijn geïmplementeerd als onderdeel van de configuratie van broncodebeheer. deployment.apps/extension-manager
Hiermee installeert en beheert u de levenscyclus van Extensie Helm-grafieken. deployment.apps/kube-aad-proxy
Wordt gebruikt voor verificatie van aanvragen die naar het cluster worden verzonden met behulp van clusterverbinding. deployment.apps/clusterconnect-agent
Omgekeerde proxyagent waarmee de clusterverbindingsfunctie toegang kan bieden tot apiserver
het cluster. Optioneel onderdeel is alleen geïmplementeerd als de functie clusterverbinding is ingeschakeld.deployment.apps/guard
Verificatie- en autorisatiewebhookserver die wordt gebruikt voor Microsoft Entra RBAC. Optioneel onderdeel dat alleen wordt geïmplementeerd als Azure RBAC is ingeschakeld op het cluster. Zodra alle Kubernetes-agentpods met Azure Arc de
Running
status hebben, controleert u of uw cluster is verbonden met Azure Arc. U ziet het volgende:- Een Kubernetes-resource
connectedClusters
met Azure Arc in Azure Resource Manager. Azure houdt deze resource bij als een projectie van het door de klant beheerde Kubernetes-cluster in plaats van het werkelijke Kubernetes-cluster zelf bij te houden. - Clustermetagegevens (zoals Kubernetes-versie, agentversie en aantal knooppunten) die worden weergegeven in de Kubernetes-resource met Azure Arc als metagegevens.
- Een Kubernetes-resource
Zie Quickstart: Een bestaand Kubernetes-cluster verbinden met Azure Arc voor meer informatie over het implementeren van de agents in een cluster.
Kubernetes-clusters met Arc verplaatsen tussen Azure-regio's
In sommige gevallen wilt u uw Kubernetes-clusters met Arc mogelijk verplaatsen naar een andere regio. U kunt bijvoorbeeld functies of services implementeren die alleen beschikbaar zijn in specifieke regio's, of u moet regio's wijzigen vanwege interne governancevereisten of overwegingen met betrekking tot capaciteitsplanning.
Wanneer u een verbonden cluster naar een nieuwe regio verplaatst, verwijdert u de connectedClusters
Azure Resource Manager-resource in de bronregio en implementeert u vervolgens de agents om de connectedClusters
resource opnieuw te maken in de doelregio. Voor configuraties van broncodebeheer, Flux-configuraties en -extensies in het cluster moet u details over de resources opslaan en vervolgens de onderliggende resources opnieuw maken in de nieuwe clusterresource.
Voordat u begint, moet u ervoor zorgen dat Kubernetes-resources met Azure Arc (Microsoft.Kubernetes/connectedClusters
) en eventuele benodigde Kubernetes-configuratiebronnen met Azure Arc (Microsoft.KubernetesConfiguration/SourceControlConfigurations
, Microsoft.KubernetesConfiguration/Extensions
, Microsoft.KubernetesConfiguration/FluxConfigurations
) worden ondersteund in de doelregio.
Voer een LIST uit om alle configuratiebronnen op te halen in het broncluster (het cluster dat moet worden verplaatst) en sla de hoofdtekst van het antwoord op:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
Notitie
LIST/GET van configuratiebronnen worden niet geretourneerd
ConfigurationProtectedSettings
. In dergelijke gevallen is de enige optie om de oorspronkelijke aanvraagbody op te slaan en opnieuw te gebruiken tijdens het maken van de resources in de nieuwe regio.Verwijder de vorige Arc-implementatie uit het onderliggende Kubernetes-cluster.
Verbind het cluster in de nieuwe regio met netwerktoegang tot het onderliggende Kubernetes-cluster.
Controleer of het met Arc verbonden cluster wordt uitgevoerd in de nieuwe regio:
- Voer de waarde uit
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
en zorg ervoor dat deconnectivityStatus
waarde isConnected
. - Voer deze opdracht uit
kubectl get deployments,pods -n azure-arc
om te controleren of alle agents zijn geïmplementeerd.
- Voer de waarde uit
Maak met behulp van de antwoordtekst die u hebt opgeslagen, elk van de configuratieresources die u hebt verkregen in de list-opdracht van het broncluster op het doelcluster opnieuw. Ter bevestiging vergelijkt u de resultaten van een LIJST met alle configuratiebronnen in het doelcluster met het oorspronkelijke LIST-antwoord van het broncluster.
Volgende stappen
- Doorloop onze quickstart om een Kubernetes-cluster te verbinden met Azure Arc.
- Bekijk releaseopmerkingen voor meer informatie over de nieuwste agentversies.
- Meer informatie over het upgraden van Kubernetes-agents met Azure Arc.
- Meer informatie over het maken van verbindingen tussen uw cluster en een Git-opslagplaats als een configuratieresource met Kubernetes met Azure Arc.