Ansluta ett Azure Kubernetes Service kluster till Azure Arc

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

När ett Azure Kubernetes Service-kluster (AKS) är kopplat till Azure Arc får det en Azure-Resource Manager representation. Kluster är kopplade till Azure-standardprenumerationer, finns i en resursgrupp och kan ta emot taggar precis som andra Azure-resurser. Med Kubernetes-representationen kan du även utöka följande funktioner till ditt Kubernetes-kluster:

  • Hanteringstjänster: konfigurationer (GitOps), Azure Monitor för containrar Azure Policy (Gatekeeper).
  • Datatjänster: SQL Managed Instance, PostgreSQL Hyperskala.
  • Programtjänster: App Service, Functions, Event Grid, Logic Apps API Management.

Om du vill ansluta ett Kubernetes-kluster till Azure måste klusteradministratören distribuera agenter. Dessa agenter körs i ett Kubernetes-namnområde med namnet azure-arc och är kubernetes-standarddistributioner. Agenterna ansvarar för anslutningen till Azure, samlar in Azure Arc-loggar och mått och aktiverar de tidigare nämnda scenarierna i klustret.

AKS stöder branschstandard-SSL för att skydda data under överföring. Dessutom lagras data krypterade i vila i en Azure Cosmos DB-databas för att säkerställa datasekretess.

Följande steg beskriver hur du ansluter AKS-kluster till Azure Arc i AKS som aktiveras av Arc. Du kan hoppa över de här stegen om du redan har anslutit ditt Kubernetes-kluster till Azure Arc med hjälp av Windows Admin Center.

Innan du börjar

Kontrollera att du har följande krav:

  • Ett AKS-kluster med minst en Linux-arbetsnod som är igång.
  • Installera AksHci PowerShell-modulen.
  • Följande åtkomstnivå för din Azure-prenumeration:
    • Ett användarkonto med den inbyggda ägarrollen . Du kan kontrollera din åtkomstnivå genom att gå till din prenumeration, välja "Åtkomstkontroll (IAM)" till vänster om Azure Portal och sedan klicka på Visa min åtkomst.
    • Ett huvudnamn för tjänsten med den inbyggda ägarrollen.
  • Kör kommandona i den här artikeln i ett administrativt PowerShell-fönster.
  • Kontrollera att du har uppfyllt nätverkskraven för AKS.

Steg 1: Logga in på Azure

Om du vill logga in på Azure kör du PowerShell-kommandot Connect-AzAccount :

Connect-AzAccount $tenantId

Om du vill växla till en annan prenumeration kör du PowerShell-kommandot Set-AzContext :

Set-AzContext -Subscription $subscriptionId

Steg 2: Registrera de två leverantörerna för AKS

Du kan hoppa över det här steget om du redan har registrerat de två providrar för AKS i din prenumeration. Registreringen är en asynkron process och måste ske en gång per prenumeration. Registreringen kan ta cirka 10 minuter:

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Du kan kontrollera om du är registrerad med följande kommandon:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Steg 3: Ansluta till Azure Arc med hjälp av Aks-Hci PowerShell-modulen

Anslut ditt AKS-kluster till Kubernetes med hjälp av PowerShell-kommandot Enable-AksHciArcConnection . Det här steget distribuerar Azure Arc-agenter för Kubernetes till azure-arc namnområdet:

Enable-AksHciArcConnection -name $clusterName 

Ansluta ditt AKS-kluster till Azure Arc med hjälp av tjänstens huvudnamn

Om du inte har åtkomst till en prenumeration där du är "ägare" kan du ansluta DITT AKS-kluster till Azure Arc med hjälp av ett huvudnamn för tjänsten.

Det första kommandot frågar efter autentiseringsuppgifter för tjänstens huvudnamn och lagrar dem i variabeln credential . Ange ditt program-ID som användarnamn och använd sedan hemligheten för tjänstens huvudnamn som lösenord när du uppmanas till det. Se till att du får dessa värden från prenumerationsadministratören. Det andra kommandot ansluter klustret till Azure Arc med autentiseringsuppgifterna för tjänstens huvudnamn som lagras i variabeln credential :

$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location

Kontrollera att tjänstens huvudnamn som används i kommandot ovan har tilldelats rollen "Ägare" och att det har ett omfång över det prenumerations-ID som används i kommandot. Mer information om tjänstens huvudnamn finns i Skapa ett huvudnamn för tjänsten med Azure PowerShell.

Ansluta ditt AKS-kluster till Azure Arc och aktivera anpassade platser

Om du vill aktivera anpassade platser i klustret tillsammans med Azure Arc kör du följande kommando för att hämta objekt-ID:t för det anpassade platsprogrammet och anslut sedan till Azure Arc med hjälp av tjänstens huvudnamn:

$objectID = (Get-AzADServicePrincipal -ApplicationId "bc313c14-388c-4e7d-a58e-70017303ee3b").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID

Verifiera det anslutna klustret

Du kan visa kubernetes-klusterresursen på Azure Portal. När du öppnar portalen i webbläsaren navigerar du till resursgruppen och AKS-resursen som baseras på de indata för resursnamn och resursgruppsnamn som används i PowerShell-kommandot enable-akshciarcconnection .

Anteckning

När du har anslutit klustret kan det ta högst fem till tio minuter innan klustermetadata (klusterversion, agentversion, antal noder) visas på översiktssidan för AKS-resursen i Azure Portal.

Azure Arc-agenter för Kubernetes

AKS distribuerar några operatorer till azure-arc namnområdet. Du kan visa dessa distributioner och poddar med kubectl, som du ser i följande exempel:

kubectl -n azure-arc get deployments,pods

AKS består av några agenter (operatorer) som körs i klustret som distribueras till azure-arc namnområdet. Mer information om dessa agenter finns i den här översikten.

Koppla bort ditt AKS-kluster från Azure Arc

Om du vill koppla från klustret från AKS kör du PowerShell-kommandot Disable-AksHciArcConnection . Kontrollera att du loggar in på Azure innan du kör kommandot:

Disable-AksHciArcConnection -Name $clusterName

Nästa steg