Delen via


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.

Diagram met een architectuuroverzicht van de Kubernetes-agents met Azure Arc.

De volgende stappen op hoog niveau zijn betrokken bij het verbinden van een Kubernetes-cluster met Azure Arc:

  1. 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.

  2. 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.
  3. 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.

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.

  1. 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:

    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.

  2. Verwijder de vorige Arc-implementatie uit het onderliggende Kubernetes-cluster.

  3. Verbind het cluster in de nieuwe regio met netwerktoegang tot het onderliggende Kubernetes-cluster.

  4. Controleer of het met Arc verbonden cluster wordt uitgevoerd in de nieuwe regio:

    1. Voer de waarde uit az connectedk8s show -n <connected-cluster-name> -g <resource-group> en zorg ervoor dat de connectivityStatus waarde is Connected.
    2. Voer deze opdracht uit kubectl get deployments,pods -n azure-arc om te controleren of alle agents zijn geïmplementeerd.
  5. 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