Klusteranslutningsåtkomst till Azure Arc-aktiverade Kubernetes-kluster

Den Azure Arc-aktiverade Kubernetes-klusteranslutningsfunktionen ger anslutning till apiserver klustret utan att kräva att någon inkommande port aktiveras i brandväggen. En omvänd proxyagent som körs i klustret kan på ett säkert sätt starta en session med Azure Arc-tjänsten på ett utgående sätt.

Med Klusteranslutning kan utvecklare komma åt sina kluster var de än befinner sig för interaktiv utveckling och felsökning. Det gör också att klusteranvändare och administratörer kan komma åt eller hantera sina kluster var som helst. Du kan till och med använda värdbaserade agenter/löpare i Azure Pipelines, GitHub Actions eller någon annan värdbaserad CI/CD-tjänst för att distribuera program till lokala kluster, utan att kräva lokala agenter.

Arkitektur

Diagram showing cluster connect architecture.

På klustersidan gör en omvänd proxyagent med namnet clusterconnect-agent, distribuerad som en del av helm-agentdiagrammet, utgående anrop till Azure Arc-tjänsten för att upprätta sessionen.

När användaren anropar az connectedk8s proxy:

  1. Azure Arc-proxybinärfilen laddas ned och spunnits upp som en process på klientdatorn.
  2. Azure Arc-proxyn hämtar en kubeconfig fil som är associerad med Det Azure Arc-aktiverade Kubernetes-klustret som az connectedk8s proxy anropas på.
    • Azure Arc-proxyn använder anroparens Azure-åtkomsttoken och Azure Resource Manager-ID-namnet.
  3. Filen kubeconfig , som sparats på datorn av Azure Arc-proxyn, pekar server-URL:en till en slutpunkt i Azure Arc-proxyprocessen.

När en användare skickar en begäran med den här kubeconfig filen:

  1. Azure Arc-proxyn mappar slutpunkten som tar emot begäran till Azure Arc-tjänsten.
  2. Azure Arc-tjänsten vidarebefordrar sedan begäran till körningen clusterconnect-agent i klustret.
  3. clusterconnect-agent Skickar begäran till komponentenkube-aad-proxy, som utför Microsoft Entra-autentisering på den anropande entiteten.
  4. Efter Microsoft Entra-autentisering kube-aad-proxy använder kubernetes-användarpersonifiering för att vidarebefordra begäran till klustrets apiserver.

Nästa steg