Ansluta ett Azure Kubernetes Service-kluster till Azure Arc
Gäller för: AKS på Azure Local 22H2, AKS på Windows Server
När ett AKS-kluster (Azure Kubernetes Service) är kopplat till Azure Arc får det en Azure Resource Manager-representation. Kluster är anslutna till Azure-standardprenumerationer, finns i en resursgrupp och kan ta emot taggar precis som andra Azure-resurser. Med Kubernetes-representationen kan du också 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 Hyperscale.
- 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 tidigare nämnda scenarier 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 Administrationscenter.
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 åtkomstnivån genom att gå till din prenumeration, välja "Åtkomstkontroll (IAM)" till vänster i Azure Portal och sedan klicka på Visa min åtkomst.
- Ett huvudnamn för tjänsten med den inbyggda rollen Ägare .
- Kör kommandona i den här artikeln i ett administrativt PowerShell-fönster.
- Se till att du uppfyller 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 Kommandot Set-AzContext PowerShell:
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å leverantörerna för AKS i din prenumeration. Registrering ä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 att 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 AKS-klustret 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 AKS-klustret 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 AKS-klustret 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
. När du uppmanas till det anger du ditt program-ID för användarnamnet och använder sedan tjänstens huvudnamn som lösenord. 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 det här kommandot har tilldelats rollen Ägare och att den har 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 "00001111-aaaa-2222-bbbb-3333cccc4444").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 har öppnat portalen i webbläsaren går du till resursgruppen och AKS-resursen som baseras på resursnamnet och indata för resursgruppens namn som används i powershell-kommandot enable-akshciarcconnection .
Kommentar
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 distribuerats till azure-arc
namnområdet. Mer information om dessa agenter finns i den här översikten.
Koppla från AKS-klustret 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