Een Azure Kubernetes-service op Azure Stack HCI-cluster verbinden met Azure Arc voor KubernetesConnect an Azure Kubernetes Service on Azure Stack HCI cluster to Azure Arc for Kubernetes

Van toepassing op: AKS op Azure Stack HCI, AKS runtime op Windows Server 2019 Data CenterApplies to: AKS on Azure Stack HCI, AKS runtime on Windows Server 2019 Datacenter

Wanneer een Azure Kubernetes-service op Azure Stack HCI-cluster is gekoppeld aan Azure-Arc, wordt deze weer gegeven in de Azure Portal.When an Azure Kubernetes Service on Azure Stack HCI cluster is attached to Azure Arc, it will appear in the Azure portal. Het heeft dan een Azure Resource Manager-id en een beheerde identiteit.It will have an Azure Resource Manager ID and a managed identity. Clusters zijn gekoppeld aan standaardabonnementen in Azure, bevinden zich in een resourcegroep, en kunnen labels ontvangen zoals elke andere Azure-resource.Clusters are attached to standard Azure subscriptions, are located in a resource group, and can receive tags just like any other Azure resource.

Voor het verbinden van een Kubernetes-cluster met Azure moet de clusterbeheerder agents implementeren.To connect a Kubernetes cluster to Azure, the cluster administrator needs to deploy agents. Deze agents worden uitgevoerd in een Kubernetes-naamruimte met de naam azure-arc, en zijn standaardimplementaties van Kubernetes.These agents run in a Kubernetes namespace named azure-arc and are standard Kubernetes deployments. De agents zijn verantwoordelijk voor de connectiviteit met Azure, het verzamelen van logboeken en metrische gegevens van Azure Arc, en het detecteren van configuratieaanvragen.The agents are responsible for connectivity to Azure, collecting Azure Arc logs and metrics, and watching for configuration requests.

Kubernetes met Azure Arc biedt ondersteuning voor industriestandaard SSL om gegevens te beveiligen tijdens de overdracht.Azure Arc enabled Kubernetes supports industry-standard SSL to secure data in transit. Ook worden inactieve gegevens versleuteld opgeslagen in een Azure Cosmos DB-database om de vertrouwelijkheid van gegevens te garanderen.Also, data is stored encrypted at rest in an Azure Cosmos DB database to ensure data confidentiality.

De volgende stappen bieden een overzicht van de onboarding van de Azure Kubernetes-service op Azure Stack HCI-clusters naar Azure Arc. U kunt deze stappen overs Laan als u uw Kubernetes-cluster al hebt geklaard met Azure Arc via Windows-beheer centrum.The following steps provide a walkthrough on onboarding Azure Kubernetes Service on Azure Stack HCI clusters to Azure Arc. You may skip these steps if you've already onboarded your Kubernetes cluster to Azure Arc through Windows Admin Center.

Voordat u begintBefore you begin

Controleer of u de volgende vereisten hebt voor bereid:Verify you've the following requirements ready:

  • Een Azure Kubernetes-service op Azure Stack HCI-cluster met ten minste één Linux worker-knoop punt dat actief is.An Azure Kubernetes Service on Azure Stack HCI cluster with at least one Linux worker node that is up and running.

  • U hebt een kubeconfig-bestand nodig om toegang te krijgen tot de rol cluster en Cluster beheerder op het cluster voor de implementatie van Kubernetes-agents die zijn ingeschakeld voor Arc.You'll need a kubeconfig file to access the cluster and cluster-admin role on the cluster for deployment of Arc enabled Kubernetes agents.

  • De Azure Kubernetes-service op Azure Stack HCI Power shell-module is geïnstalleerd.Have the Azure Kubernetes Service on Azure Stack HCI PowerShell module installed.

  • De Azure CLI-versie 2.3 + is vereist voor de installatie van de Azure Arc enabled Kubernetes CLI-extensies.Azure CLI version 2.3+ is required for installing the Azure Arc enabled Kubernetes CLI extensions. Installeer Azure cli.Install Azure CLI. U kunt ook bijwerken naar de nieuwste versie om ervoor te zorgen dat u beschikt over Azure CLI-versie 2.3 +.You can also update to the latest version to ensure that you have Azure CLI version 2.3+.

  • Een Azure-abonnement waarvoor u een eigenaar of bijdrager bent.An Azure subscription on which you're an owner or contributor.

  • Voer de opdrachten in dit document uit in een Power shell-beheer venster.Run the commands in this document in a PowerShell administrative window.

NetwerkvereistenNetwork requirements

Voor Azure Arc-agenten moeten de volgende protocollen/poorten/uitgaande Url's worden gebruikt.Azure Arc agents require the following protocols/ports/outbound URLs to function.

  • TCP op poort 443--> https://:443TCP on port 443 --> https://:443
  • TCP op poort 9418--> git://:9418TCP on port 9418 --> git://:9418
Eind punt (DNS)Endpoint (DNS) BeschrijvingDescription
https://management.azure.com Vereist voor de agent om verbinding te maken met Azure en het cluster te registrerenRequired for the agent to connect to Azure and register the cluster
https://eastus.dp.kubernetesconfiguration.azure.com, https://westeurope.dp.kubernetesconfiguration.azure.comhttps://eastus.dp.kubernetesconfiguration.azure.com, https://westeurope.dp.kubernetesconfiguration.azure.com Gegevens vlak eindpunt voor de agent om de status te pushen en configuratie gegevens op te halenData plane endpoint for the agent to push status and fetch configuration information
https://docker.io Vereist voor het ophalen van container installatie kopieënRequired to pull container images
https://github.com, git://github.comhttps://github.com, git://github.com Voor beeld van GitOps opslag plaatsen worden gehost op GitHub.Example GitOps repos are hosted on GitHub. Configuratie agent vereist connectiviteit met het opgegeven Git-eind punt dat u opgeeft.Configuration agent requires connectivity to whichever git endpoint you specify.
https://login.microsoftonline.com Vereist om Azure Resource Manager-tokens op te halen en bij te werkenRequired to fetch and update Azure Resource Manager tokens
https://azurearcfork8s.azurecr.io Vereist voor het ophalen van container installatie kopieën voor Azure Arc-agentsRequired to pull container images for Azure Arc agents
https://eus.his.arc.azure.com, https://weu.his.arc.azure.comhttps://eus.his.arc.azure.com, https://weu.his.arc.azure.com Vereist voor het ophalen van door het systeem toegewezen beheerde identiteits certificatenRequired to pull system-assigned managed identity certificates

Stap 1: aanmelden bij AzureStep 1: Log in to Azure

Meld u aan bij Azure en nadat u zich hebt aangemeld, stelt u een Azure-abonnement in waarvoor u een eigenaar of bijdrager bent als uw standaard abonnement.Log in to Azure and after logging in, set an Azure subscription on which you're an owner or contributor as your default subscription.

az login
az account set --subscription "00000000-aaaa-bbbb-cccc-000000000000"

Stap 2: Registreer de twee providers voor Azure Arc enabled Kubernetes:Step 2: Register the two providers for Azure Arc enabled Kubernetes:

U kunt deze stap overs Laan als u de twee providers voor Azure Arc enabled Kubernetes-service in uw abonnement al hebt geregistreerd.You can skip this step if you've already registered the two providers for Azure Arc enabled Kubernetes service on your subscription. Registratie is een asynchroon proces en moet eenmaal per abonnement zijn.Registration is an asynchronous process and needs to be once per subscription. De registratie kan ongeveer 10 minuten duren.Registration may take approximately 10 minutes.

az provider register --namespace Microsoft.Kubernetes
az provider register --namespace Microsoft.KubernetesConfiguration

U kunt controleren of u bent geregistreerd met de volgende opdrachten:You can check if you're registered with the following commands:

az provider show -n Microsoft.Kubernetes -o table
az provider show -n Microsoft.KubernetesConfiguration -o table

Stap 3: een resource groep makenStep 3: Create a resource group

U hebt een resource groep nodig voor het opslaan van de verbonden cluster bron.You need a resource group to hold the connected cluster resource. U kunt een bestaande resource groep gebruiken in VS-Oost of Europa-west locaties.You can use an existing resource group in East US or West Europe locations. Als u geen bestaande resource groep hebt op de locatie VS-Oost of Europa-west, gebruikt u de volgende opdracht om een nieuwe resource groep te maken:If you do not have an existing resource group in the East US or West Europe location, use the following command to create a new resource group:

az group create --name AzureArcTest -l EastUS -o table

Stap 4: een nieuwe service-principal makenStep 4: Create a new service principal

U kunt deze stap overs Laan als u al een service-principal met een rol hebt gemaakt contributor en u de appID, het wacht woord en de Tenant waarden van de Service-Principal kent.You can skip this step if you've already created a service principal with contributor role and know the service principal's appID, password, and tenant values.

Maak een nieuwe service-principal met een informatieve naam.Create a new service principal with an informative name. Deze naam moet uniek zijn voor uw Azure Active Directory-Tenant.This name must be unique for your Azure Active Directory tenant. De standaardrol van een Service-Principal is Contributor .The default role for a service principal is Contributor. Deze rol heeft alle machtigingen om in een Azure-account te lezen en te schrijven.This role has full permissions to read and write to an Azure account. U kunt deze service-principal ook opnieuw gebruiken om meerdere clusters aan te boarden met Azure Arc. Stel het bereik van de Service-Principal in op abonnementen/resource groep.You can also reuse this service principal to on-board multiple clusters to Azure Arc. Set the scope of your service principal to subscriptions/resource-group. Zorg ervoor dat u de appID, het wacht woord en de Tenant waarden van de Service-Principal opslaat, omdat u deze gegevens in de volgende stappen nodig hebt.Make sure you save the service principal's appID, password, and tenant values as you will need these details in subsequent steps.

az ad sp create-for-RBAC --name "azure-arc-for-k8s" --scope /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}

UitvoerOutput:

{
  "appId": "00000000-0000-0000-0000-000000000000",
  "displayName": "azure-arc-for-k8s",
  "name": "https://azure-arc-for-k8s",
  "password": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "tenant": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj"
}

Stap 5: Details van de Service-Principal opslaanStep 5: Save service principal details

Sla de gemaakte appId, het wacht woord en de Tenant waarden van de Service-Principal op, evenals de cluster naam, de Azure-abonnements-ID, de naam van de resource groep en de locatie in Power shell-variabelen.Save the created service principal's appId, password and tenant values, and cluster name, Azure subscription ID, resource group name, and location in PowerShell variables. Dit zorgt ervoor dat u de details in andere zelf studies opnieuw kunt gebruiken.This will ensure you can reuse the details in other tutorials. Zorg ervoor dat u deze waarden ook opslaat in een Klad blok voor het geval u uw Power shell-sessie wilt sluiten.Ensure that you also save these values in a notepad in case you want to close your PowerShell session.

$clusterName = #<name of your Kubernetes cluster>
$resourceGroup = #<Azure resource group to store your connected Kubernetes cluster in Azure Arc>
$location = #<Azure resource group location. This can only be eastus or westeurope for Azure Arc for Kubernetes>
$subscriptionId = #<Azure subscription Id>
$appId = #<appID from the service principal created above>
$password = #<password from the service principal created above>
$tenant = #<tenant from the service principal created above>

Zorg ervoor dat u de juiste waarden aan de variabelen hebt toegewezen door uit te voeren:Ensure that you have assigned the right values to the variables by running:

echo $clusterName 
echo $resourceGroup
echo $location 
echo $subscriptionId 
echo $appId 
echo $password 
echo $tenant 

Stap 6: verbinding maken met Azure Arc met behulp van de Service-Principal en de Aks-Hci Power shell-moduleStep 6: Connect to Azure Arc using service principal and the Aks-Hci PowerShell module

Vervolgens gaan we ons Kubernetes-cluster verbinden met Azure met behulp van de Service-Principal en de module Aks-Hci Power shell.Next, we will connect our Kubernetes cluster to Azure using service principal and the Aks-Hci PowerShell module. Met deze stap worden Azure Arc-agents voor Kubernetes in de azure-arc naam ruimte geïmplementeerd.This step deploys Azure Arc agents for Kubernetes into the azure-arc namespace.

Raadpleeg de zojuist gemaakte service-principal en voer de opdracht uit die Install-AksHciArcOnboarding beschikbaar is in de Aks-Hci Power shell-module.Reference the newly created service principal and run the Install-AksHciArcOnboarding command available in the Aks-Hci PowerShell module.

Install-AksHciArcOnboarding -clusterName $clusterName -resourcegroup $resourceGroup -location $location -subscriptionid $subscriptionId -clientid $appId -clientsecret $password -tenantid $tenant

Verbonden cluster verifiërenVerify connected cluster

U kunt uw Kubernetes-cluster bron weer geven op het Azure Portal.You can view your Kubernetes cluster resource on the Azure portal. Zodra u de portal in uw browser hebt geopend, navigeert u naar de resource groep en de Azure Arc-Kubernetes-resource die is gebaseerd op de invoer van de resource naam en de resource groep die eerder in de Install-AksHciArcOnboarding Power shell-opdracht zijn gebruikt.Once you have the portal open in your browser, navigate to the resource group and the Azure Arc-enabled Kubernetes resource that's based on the resource name and resource group name inputs used earlier in the Install-AksHciArcOnboarding PowerShell command.

Notitie

Na de onboarding van het cluster duurt het ongeveer vijf tot tien minuten voor de meta gegevens van het cluster (cluster versie, versie van agent, aantal knoop punten) naar het Opper vlak op de overzichts pagina van de Azure Arc enabled Kubernetes-resource in Azure Portal.After onboarding the cluster, it takes around 5 to 10 minutes for the cluster metadata (cluster version, agent version, number of nodes) to surface on the overview page of the Azure Arc enabled Kubernetes resource in Azure portal.

Als u uw cluster wilt verwijderen of uw cluster wilt verbinden als het zich achter een uitgaande proxy server bevindt, gaat u naar verbinding maken met een Azure Arc-Kubernetes-cluster.To delete your cluster, or to connect your cluster if it is behind an outbound proxy server, visit Connect an Azure Arc-enabled Kubernetes cluster.

Azure Arc-agents voor KubernetesAzure Arc agents for Kubernetes

Azure Arc enabled Kubernetes implementeert enkele opera tors in de azure-arc naam ruimte.Azure Arc enabled Kubernetes deploys a few operators into the azure-arc namespace. U kunt deze implementaties en peulen hier bekijken:You can view these deployments and pods here:

kubectl -n azure-arc get deployments,pods

Azure Arc enabled Kubernetes bestaat uit een aantal agents (opera tors) die in uw cluster worden uitgevoerd en die zijn geïmplementeerd in de azure-arc naam ruimte.Azure Arc enabled Kubernetes consists of a few agents (operators) that run in your cluster deployed to the azure-arc namespace.

  • deployment.apps/config-agent: Hiermee wordt het verbonden cluster gewatcheerd voor configuratie bronnen voor broncode beheer die zijn toegepast op het cluster en de nalevings status van updatesdeployment.apps/config-agent: watches the connected cluster for source control configuration resources applied on the cluster and updates compliance state
  • deployment.apps/controller-manager: is een operator van Opera tors en organiseert de interacties tussen onderdelen van Azure Arcdeployment.apps/controller-manager: is an operator of operators and orchestrates interactions between Azure Arc components
  • deployment.apps/metrics-agent: verzamelt metrische gegevens van andere Arc-agents om ervoor te zorgen dat deze agents de optimale prestaties vertonendeployment.apps/metrics-agent: collects metrics of other Arc agents to ensure that these agents are exhibiting optimal performance
  • deployment.apps/cluster-metadata-operator: verzamelt de meta gegevens van het cluster, de Cluster versie, het aantal knoop punten en de versie van de Azure Arc-agentdeployment.apps/cluster-metadata-operator: gathers cluster metadata - cluster version, node count, and Azure Arc agent version
  • deployment.apps/resource-sync-agent: synchroniseert de hierboven vermelde meta gegevens van het cluster naar Azuredeployment.apps/resource-sync-agent: syncs the above mentioned cluster metadata to Azure
  • deployment.apps/clusteridentityoperator: Azure Arc enabled Kubernetes ondersteunt momenteel de toegewezen identiteit van het systeem.deployment.apps/clusteridentityoperator: Azure Arc enabled Kubernetes currently supports system assigned identity. clusteridentityoperator onderhoudt het Managed Service Identity (MSI)-certificaat dat door andere agents wordt gebruikt voor communicatie met Azure.clusteridentityoperator maintains the managed service identity (MSI) certificate used by other agents for communication with Azure.
  • deployment.apps/flux-logs-agent: Hiermee worden logboeken van de stroom-Opera tors verzameld die zijn geïmplementeerd als onderdeel van de configuratie van broncode beheerdeployment.apps/flux-logs-agent: collects logs from the flux operators deployed as a part of source control configuration

Volgende stappenNext steps