Een Azure Kubernetes Service-cluster verbinden met Azure Arc

Van toepassing op: AKS in Azure Stack HCI 22H2, AKS op Windows Server

Wanneer een Azure Kubernetes Service (AKS)-cluster is gekoppeld aan Azure Arc, krijgt het een Azure Resource Manager-weergave. Clusters zijn gekoppeld aan standaardabonnementen in Azure, bevinden zich in een resourcegroep, en kunnen labels ontvangen zoals elke andere Azure-resource. Met de Kubernetes-weergave kunt u ook de volgende mogelijkheden uitbreiden naar uw Kubernetes-cluster:

  • Beheerservices: configuraties (GitOps), Azure Monitor voor containers, Azure Policy (Gatekeeper).
  • Gegevensservices: SQL Managed Instance, PostgreSQL Hyperscale.
  • Toepassingsservices: App Service, Functions, Event Grid, Logic Apps API Management.

Als u een Kubernetes-cluster wilt verbinden met Azure, moet de clusterbeheerder agents implementeren. Deze agents worden uitgevoerd in een Kubernetes-naamruimte met de naam azure-arc en zijn standaard Kubernetes-implementaties. De agents zijn verantwoordelijk voor de connectiviteit met Azure, het verzamelen van Azure Arc-logboeken en metrische gegevens en het inschakelen van de eerder genoemde scenario's op het cluster.

AKS ondersteunt ssl volgens de industriestandaard voor het beveiligen van gegevens tijdens de overdracht. Ook worden inactieve gegevens versleuteld opgeslagen in een Azure Cosmos DB-database om de vertrouwelijkheid van gegevens te garanderen.

In de volgende stappen wordt beschreven hoe u AKS-clusters verbindt met Azure Arc in AKS die wordt ingeschakeld door Arc. U kunt deze stappen overslaan als u uw Kubernetes-cluster al hebt verbonden met Azure Arc met behulp van Windows Admin Center.

Voordat u begint

Controleer of u aan de volgende vereisten voldoet:

  • Een AKS-cluster met ten minste één Linux-werkknooppunt dat actief is.
  • Installeer de AksHci PowerShell-module.
  • Het volgende toegangsniveau voor uw Azure-abonnement:
    • Een gebruikersaccount met de ingebouwde rol Eigenaar . U kunt uw toegangsniveau controleren door naar uw abonnement te navigeren, 'Toegangsbeheer (IAM)' aan de linkerkant van de Azure Portal te selecteren en vervolgens op Mijn toegang weergeven te klikken.
    • Een service-principal met de ingebouwde rol Eigenaar.
  • Voer de opdrachten in dit artikel uit in een PowerShell-beheervenster.
  • Zorg ervoor dat u voldoet aan de netwerkvereisten van AKS.

Stap 1: aanmelden bij Azure

Voer de PowerShell-opdracht Connect-AzAccount uit om u aan te melden bij Azure:

Connect-AzAccount $tenantId

Als u wilt overschakelen naar een ander abonnement, voert u de PowerShell-opdracht Set-AzContext uit:

Set-AzContext -Subscription $subscriptionId

Stap 2: De twee providers registreren voor AKS

U kunt deze stap overslaan als u de twee providers voor AKS al hebt geregistreerd in uw abonnement. Registratie is een asynchroon proces en moet eenmaal per abonnement plaatsvinden. Registratie kan ongeveer 10 minuten duren:

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

U kunt controleren of u bent geregistreerd met de volgende opdrachten:

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

Stap 3: verbinding maken met Azure Arc met behulp van de Aks-Hci PowerShell-module

Verbind uw AKS-cluster met Kubernetes met behulp van de PowerShell-opdracht Enable-AksHciArcConnection . Met deze stap worden Azure Arc-agents voor Kubernetes geïmplementeerd in de azure-arc naamruimte:

Enable-AksHciArcConnection -name $clusterName 

Uw AKS-cluster verbinden met Azure Arc met behulp van een service-principal

Als u geen toegang hebt tot een abonnement waarvoor u een 'Eigenaar' bent, kunt u uw AKS-cluster verbinden met Azure Arc met behulp van een service-principal.

De eerste opdracht vraagt om referenties voor de service-principal en slaat deze op in de $Credential variabele. Voer desgevraagd uw toepassings-id in voor de gebruikersnaam en gebruik vervolgens het geheim van de service-principal als het wachtwoord. Zorg ervoor dat u deze waarden opkrijgt van uw abonnementsbeheerder. Met de tweede opdracht wordt uw cluster verbonden met Azure Arc met behulp van de referenties van de service-principal die zijn opgeslagen in de $Credential variabele:

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

Zorg ervoor dat aan de service-principal die in de bovenstaande opdracht wordt gebruikt, de rol 'Eigenaar' is toegewezen en dat deze het bereik heeft voor de abonnements-id die in de opdracht wordt gebruikt. Zie een service-principal Creatie met Azure PowerShell voor meer informatie over service-principals.

Uw AKS-cluster verbinden met Azure Arc en aangepaste locaties inschakelen

Als u aangepaste locaties in uw cluster samen met Azure Arc wilt inschakelen, voert u de volgende opdracht uit om de object-id van de aangepaste locatietoepassing op te halen en maakt u vervolgens verbinding met Azure Arc met behulp van een service-principal:

$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

Het verbonden cluster controleren

U kunt uw Kubernetes-clusterresource bekijken op de Azure Portal. Nadat u de portal in uw browser hebt geopend, gaat u naar de resourcegroep en de AKS-resource die is gebaseerd op de invoer van de resourcenaam en de naam van de resourcegroep die worden gebruikt in de PowerShell-opdracht enable-akshciarcconnection .

Notitie

Nadat u het cluster hebt verbonden, kan het maximaal vijf tot tien minuten duren voordat de clustermetagegevens (clusterversie, agentversie, aantal knooppunten) worden weergegeven op de overzichtspagina van de AKS-resource in Azure Portal.

Azure Arc-agents voor Kubernetes

AKS implementeert een aantal operators in de azure-arc naamruimte. U kunt deze implementaties en pods weergeven met kubectl, zoals wordt weergegeven in het volgende voorbeeld:

kubectl -n azure-arc get deployments,pods

AKS bestaat uit enkele agents (operators) die worden uitgevoerd in uw cluster die zijn geïmplementeerd in de azure-arc naamruimte. Zie dit overzicht voor meer informatie over deze agents.

Uw AKS-cluster loskoppelen van Azure Arc

Als u uw cluster wilt loskoppelen van AKS, voert u de PowerShell-opdracht Disable-AksHciArcConnection uit . Zorg ervoor dat u zich aanmeldt bij Azure voordat u de opdracht uitvoert:

Disable-AksHciArcConnection -Name $clusterName

Volgende stappen