Een Azure Kubernetes Service-cluster verbinden met Azure Arc
Van toepassing op: AKS op Azure Stack HCI 22H2, AKS op Windows Server
Wanneer een AKS-cluster (Azure Kubernetes Service) 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 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 industriestandaard SSL voor het beveiligen van gegevens tijdens 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 waarvoor Arc is ingeschakeld. U kunt deze stappen overslaan als u uw Kubernetes-cluster al hebt verbonden met Azure Arc met behulp van het Windows-beheercentrum.
Voordat u begint
Controleer of u over de volgende vereisten beschikt:
- 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 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 Opdracht Connect-AzAccount PowerShell uit om u aan te melden bij Azure:
Connect-AzAccount $tenantId
Als u wilt overschakelen naar een ander abonnement, voert u de opdracht Set-AzContext PowerShell uit:
Set-AzContext -Subscription $subscriptionId
Stap 2: de twee providers registreren voor AKS
U kunt deze stap overslaan als u de twee providers al hebt geregistreerd voor AKS 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 eigenaar bent, kunt u uw AKS-cluster verbinden met Azure Arc met behulp van een service-principal.
De eerste opdracht vraagt om referenties van 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 krijgt 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 deze opdracht wordt gebruikt, de rol Eigenaar is toegewezen en of er een bereik is voor de abonnements-id die in de opdracht wordt gebruikt. Zie Een service-principal maken 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 wilt inschakelen in combinatie met Azure Arc, 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 "00001111-aaaa-2222-bbbb-3333cccc4444").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 in 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 resourcenaam en de invoer van de resourcegroep die wordt 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 paar 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 een paar 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 de verbinding van uw cluster met AKS wilt verbreken, 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