Översikt över Azure Arc-aktiverad Kubernetes-agent

Azure Arc-aktiverade Kubernetes tillhandahåller ett centraliserat, konsekvent kontrollplan för att hantera principer, styrning och säkerhet i Kubernetes-kluster i olika miljöer.

Azure Arc-agenter distribueras i Kubernetes-kluster när du ansluter dem till Azure Arc. Den här artikeln innehåller en översikt över dessa agenter.

Distribuera agenter till klustret

De flesta lokala datacenter tillämpar strikta nätverksregler som förhindrar inkommande kommunikation i nätverksgränsens brandvägg. Azure Arc-aktiverade Kubernetes fungerar med dessa begränsningar genom att inte kräva inkommande portar i brandväggen. Azure Arc-agenter kräver utgående kommunikation till en uppsättningslista över nätverksslutpunkter.

Det här diagrammet ger en översikt över Azure Arc-komponenter. Kubernetes-kluster i lokala datacenter eller olika moln är anslutna till Azure via Azure Arc-agenterna. Med den här anslutningen kan klustren hanteras i Azure med hjälp av hanteringsverktyg och Azure-tjänster. Klustren kan också nås via offlinehanteringsverktyg.

Diagram som visar en arkitekturöversikt över Azure Arc-aktiverade Kubernetes-agenter.

Följande övergripande steg ingår i anslutningen av ett Kubernetes-kluster till Azure Arc:

  1. Skapa ett Kubernetes-kluster efter val av infrastruktur (VMware vSphere, Amazon Web Services, Google Cloud Platform eller någon CNCF-certifierad Kubernetes-distribution i Cloud Native Computing Foundation). Klustret måste redan finnas innan du ansluter det till Azure Arc.

  2. Starta Azure Arc-registreringen för klustret. Den här processen distribuerar agentens Helm-diagram i klustret. Därefter initierar klusternoderna en utgående kommunikation till Microsoft Container Registry och hämtar de avbildningar som behövs för att skapa följande agenter i azure-arc namnområdet:

    Handläggare beskrivning
    deployment.apps/clusteridentityoperator Azure Arc-aktiverade Kubernetes stöder för närvarande endast systemtilldelade identiteter. clusteridentityoperator initierar den första utgående kommunikationen. Den här första kommunikationen hämtar MSI-certifikatet (Managed Service Identity) som används av andra agenter för kommunikation med Azure.
    deployment.apps/config-agent Bevakar det anslutna klustret för konfigurationsresurser för källkontroll som tillämpas på klustret. Uppdaterar efterlevnadstillståndet.
    deployment.apps/controller-manager En operator för operatorer som samordnar interaktioner mellan Azure Arc-komponenter.
    deployment.apps/metrics-agent Samlar in mått för andra Arc-agenter för att verifiera optimala prestanda.
    deployment.apps/cluster-metadata-operator Samlar in metadata om kluster, däribland klusterversion, antal noder och version av Azure Arc-agenten.
    deployment.apps/resource-sync-agent Synkroniserar ovan nämnda klustermetadata till Azure.
    deployment.apps/flux-logs-agent Samlar in loggar från Flux-operatorerna som distribueras som en del av källkontrollkonfigurationen.
    deployment.apps/extension-manager Installerar och hanterar livscykeln för helm-tilläggsdiagram.
    deployment.apps/kube-aad-proxy Används för autentisering av begäranden som skickas till klustret med klusteranslutning.
    deployment.apps/clusterconnect-agent Omvänd proxyagent som gör det möjligt för funktionen för klusteranslutning att ge åtkomst till apiserver klustret. Valfri komponent distribueras endast om funktionen för klusteranslutning är aktiverad.
    deployment.apps/guard Webhook-server för autentisering och auktorisering som används för Microsoft Entra RBAC. Valfri komponent distribueras endast om Azure RBAC är aktiverat i klustret.
  3. När alla Azure Arc-aktiverade Kubernetes-agentpoddar är i Running tillstånd kontrollerar du att klustret är anslutet till Azure Arc. Du bör se:

    • En Azure Arc-aktiverad Kubernetes-resurs connectedClusters i Azure Resource Manager. Azure spårar den här resursen som en projektion av det kundhanterade Kubernetes-klustret i stället för att spåra själva Kubernetes-klustret.
    • Klustermetadata (till exempel Kubernetes-version, agentversion och antal noder) som visas på Den Azure Arc-aktiverade Kubernetes-resursen som metadata.

Mer information om hur du distribuerar agenterna till ett kluster finns i Snabbstart: Ansluta ett befintligt Kubernetes-kluster till Azure Arc.

Flytta Arc-aktiverade Kubernetes-kluster mellan Azure-regioner

I vissa fall kanske du vill flytta dina Arc-aktiverade Kubernetes-kluster till en annan region. Du kanske till exempel vill distribuera funktioner eller tjänster som bara är tillgängliga i specifika regioner, eller så måste du ändra regioner på grund av interna styrningskrav eller överväganden för kapacitetsplanering.

När du flyttar ett anslutet kluster till en ny region tar du bort connectedClusters Azure Resource Manager-resursen i källregionen och distribuerar sedan agenterna för att återskapa resursen connectedClusters i målregionen. För källkontrollkonfigurationer, Flux-konfigurationer och tillägg i klustret måste du spara information om resurserna och sedan återskapa de underordnade resurserna i den nya klusterresursen.

Innan du börjar kontrollerar du att Azure Arc-aktiverade Kubernetes-resurser (Microsoft.Kubernetes/connectedClusters) och alla nödvändiga Azure Arc-aktiverade Kubernetes-konfigurationsresurser (Microsoft.KubernetesConfiguration/SourceControlConfigurations, Microsoft.KubernetesConfiguration/Extensions, Microsoft.KubernetesConfiguration/FluxConfigurations) stöds i målregionen.

  1. Gör en LISTA för att hämta alla konfigurationsresurser i källklustret (klustret som ska flyttas) och spara svarstexten:

    Kommentar

    LISTA/HÄMTA av konfigurationsresurser returnerar ConfigurationProtectedSettingsinte . I sådana fall är det enda alternativet att spara den ursprungliga begärandetexten och återanvända dem när du skapar resurserna i den nya regionen.

  2. Ta bort den tidigare Arc-distributionen från det underliggande Kubernetes-klustret.

  3. Anslut klustret i den nya regionen med nätverksåtkomst till det underliggande Kubernetes-klustret.

  4. Kontrollera att det Arc-anslutna klustret körs i den nya regionen:

    1. Kör az connectedk8s show -n <connected-cluster-name> -g <resource-group> och se till att connectivityStatus värdet är Connected.
    2. Kör kubectl get deployments,pods -n azure-arc för att kontrollera att alla agenter har distribuerats.
  5. Använd svarstexten som du sparade och återskapa var och en av konfigurationsresurserna som hämtas i listkommandot från källklustret i målklustret. Bekräfta genom att jämföra resultatet från en lista över alla konfigurationsresurser i målklustret med det ursprungliga LIST-svaret från källklustret.

Nästa steg