Ansluta en Azure Kubernetes-tjänst på Azure Stack HCI-kluster till Azure Arc för KubernetesConnect an Azure Kubernetes Service on Azure Stack HCI cluster to Azure Arc for Kubernetes

Gäller för: AKS på Azure Stack HCI, AKS runtime på Windows Server 2019 Data CenterApplies to: AKS on Azure Stack HCI, AKS runtime on Windows Server 2019 Datacenter

När en Azure Kubernetes-tjänst på Azure Stack HCI-kluster är kopplad till Azure-bågen visas den i Azure Portal.When an Azure Kubernetes Service on Azure Stack HCI cluster is attached to Azure Arc, it will appear in the Azure portal. Det kommer att ha ett Azure Resource Manager-ID och en hanterad identitet.It will have an Azure Resource Manager ID and a managed identity. Kluster är anslutna till Azures standard prenumerationer, finns i en resurs grupp och kan ta emot Taggar precis som andra Azure-resurser.Clusters are attached to standard Azure subscriptions, are located in a resource group, and can receive tags just like any other Azure resource.

För att ansluta ett Kubernetes-kluster till Azure måste kluster administratören distribuera agenter.To connect a Kubernetes cluster to Azure, the cluster administrator needs to deploy agents. Dessa agenter körs i ett Kubernetes-namnområde med namnet azure-arc och är vanliga Kubernetes-distributioner.These agents run in a Kubernetes namespace named azure-arc and are standard Kubernetes deployments. Agenterna ansvarar för anslutning till Azure, samlar in Azure Arc-loggar och-mått och tittar efter konfigurations begär Anden.The agents are responsible for connectivity to Azure, collecting Azure Arc logs and metrics, and watching for configuration requests.

Azure Arc Enabled Kubernetes har stöd för branschstandardiserade SSL för att skydda data under överföring.Azure Arc enabled Kubernetes supports industry-standard SSL to secure data in transit. Dessutom lagras data som krypteras i vila i en Azure Cosmos DB databas för att säkerställa data sekretessen.Also, data is stored encrypted at rest in an Azure Cosmos DB database to ensure data confidentiality.

Följande steg beskriver hur du skapar en genom gång av Azure Kubernetes-tjänsten på Azure Stack HCI-kluster till Azure Arc. Du kan hoppa över de här stegen om du redan har registrerat ditt Kubernetes-kluster till Azure Arc via Windows administrations Center.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.

Innan du börjarBefore you begin

Kontrol lera att du har följande krav:Verify you've the following requirements ready:

  • En Azure Kubernetes-tjänst på Azure Stack HCI-kluster med minst en Linux Worker-nod som är igång.An Azure Kubernetes Service on Azure Stack HCI cluster with at least one Linux worker node that is up and running.

  • Du behöver en kubeconfig-fil för att få åtkomst till klustret och kluster administratörs rollen i klustret för distribution av Arc-aktiverade Kubernetes-agenter.You'll need a kubeconfig file to access the cluster and cluster-admin role on the cluster for deployment of Arc enabled Kubernetes agents.

  • Ha Azure Kubernetes-tjänsten på Azure Stack HCI PowerShell-modulen installerad.Have the Azure Kubernetes Service on Azure Stack HCI PowerShell module installed.

  • Azure CLI version 2.3 + krävs för att installera Azure Arc-aktiverade Kubernetes CLI-tillägg.Azure CLI version 2.3+ is required for installing the Azure Arc enabled Kubernetes CLI extensions. Installera Azure CLI.Install Azure CLI. Du kan också uppdatera till den senaste versionen för att säkerställa att du har Azure CLI version 2.3 +.You can also update to the latest version to ensure that you have Azure CLI version 2.3+.

  • En Azure-prenumeration där du är ägare eller deltagare.An Azure subscription on which you're an owner or contributor.

  • Kör kommandona i det här dokumentet i ett administrations fönster i PowerShell.Run the commands in this document in a PowerShell administrative window.

NätverkskravNetwork requirements

Azure Arc-agenter kräver att följande protokoll/portar/utgående URL: er fungerar.Azure Arc agents require the following protocols/ports/outbound URLs to function.

  • TCP på port 443--> https://:443TCP on port 443 --> https://:443
  • TCP på port 9418--> git://:9418TCP on port 9418 --> git://:9418
Slut punkt (DNS)Endpoint (DNS) DescriptionDescription
https://management.azure.com Krävs för att agenten ska kunna ansluta till Azure och registrera klustretRequired 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 Data planens slut punkt för agenten för att push-överföra status och hämta konfigurations informationData plane endpoint for the agent to push status and fetch configuration information
https://docker.io Krävs för att hämta behållar avbildningarRequired to pull container images
https://github.com, git://github.comhttps://github.com, git://github.com Exempel på GitOps-databaser finns på GitHub.Example GitOps repos are hosted on GitHub. Konfigurations agenten kräver anslutning till den git-slutpunkt som du anger.Configuration agent requires connectivity to whichever git endpoint you specify.
https://login.microsoftonline.com Krävs för att hämta och uppdatera Azure Resource Manager tokensRequired to fetch and update Azure Resource Manager tokens
https://azurearcfork8s.azurecr.io Krävs för att hämta behållar avbildningar för Azure Arc-agenterRequired 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 Krävs för att hämta system tilldelade hanterade identitets certifikatRequired to pull system-assigned managed identity certificates

Steg 1: Logga in på AzureStep 1: Log in to Azure

Logga in på Azure och ange en Azure-prenumeration där du är ägare eller deltagare som din standard prenumeration när du har loggat in.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"

Steg 2: registrera de två providers för Azure Arc-aktiverade Kubernetes:Step 2: Register the two providers for Azure Arc enabled Kubernetes:

Du kan hoppa över det här steget om du redan har registrerat de två providers för Azure Arc-aktiverade Kubernetes-tjänsten i din prenumeration.You can skip this step if you've already registered the two providers for Azure Arc enabled Kubernetes service on your subscription. Registreringen är en asynkron process och måste vara en gång per prenumeration.Registration is an asynchronous process and needs to be once per subscription. Registreringen kan ta ungefär 10 minuter.Registration may take approximately 10 minutes.

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

Du kan kontrol lera om du har registrerat dig med följande kommandon: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

Steg 3: skapa en resurs gruppStep 3: Create a resource group

Du behöver en resurs grupp för att lagra den anslutna kluster resursen.You need a resource group to hold the connected cluster resource. Du kan använda en befintlig resurs grupp i platser för USA, östra eller Västeuropa.You can use an existing resource group in East US or West Europe locations. Om du inte har en befintlig resurs grupp på platsen USA, östra eller Västeuropa, använder du följande kommando för att skapa en ny resurs grupp: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

Steg 4: skapa ett nytt huvud namn för tjänstenStep 4: Create a new service principal

Du kan hoppa över det här steget om du redan har skapat ett huvud namn för tjänsten med contributor rollen och känner till tjänstens huvud namn, lösen ord och klient värden.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.

Skapa ett nytt huvud namn för tjänsten med ett informativt namn.Create a new service principal with an informative name. Det här namnet måste vara unikt för din Azure Active Directory-klient.This name must be unique for your Azure Active Directory tenant. Standard rollen för ett huvud namn för tjänsten är Contributor .The default role for a service principal is Contributor. Den här rollen har fullständig behörighet att läsa och skriva till ett Azure-konto.This role has full permissions to read and write to an Azure account. Du kan också återanvända det här tjänstens huvud namn för att använda flera kluster i Azure Arc. Ange omfattningen för tjänstens huvud namn till prenumerationer/resurs grupp.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. Se till att spara tjänst huvud namnets appID-, Password-och klient värden eftersom du kommer att behöva dessa uppgifter i efterföljande steg.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}

UtdataparametrarOutput:

{
  "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"
}

Steg 5: Spara information om tjänstens huvud namnStep 5: Save service principal details

Spara det skapade tjänst huvud namnet, lösen ord och klient värden, samt kluster namn, ID för Azure-prenumeration, resurs grupps namn och plats i PowerShell-variabler.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. Det innebär att du kan återanvända informationen i andra självstudier.This will ensure you can reuse the details in other tutorials. Se till att du även sparar dessa värden i ett anteckningar om du vill stänga PowerShell-sessionen.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>

Se till att du har tilldelat rätt värden till variablerna genom att köra: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 

Steg 6: Anslut till Azure-bågen med tjänstens huvud namn och Aks-Hci PowerShell-modulenStep 6: Connect to Azure Arc using service principal and the Aks-Hci PowerShell module

Nu ska vi ansluta vårt Kubernetes-kluster till Azure med hjälp av tjänstens huvud namn och Aks-Hci PowerShell-modulen.Next, we will connect our Kubernetes cluster to Azure using service principal and the Aks-Hci PowerShell module. Det här steget distribuerar Azure Arc-agenter för Kubernetes till azure-arc namn området.This step deploys Azure Arc agents for Kubernetes into the azure-arc namespace.

Referera till det nyligen skapade tjänstens huvud namn och kör Install-AksHciArcOnboarding kommandot som är tillgängligt i Aks-Hci PowerShell-modulen.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

Verifiera anslutet klusterVerify connected cluster

Du kan visa din Kubernetes-kluster resurs på Azure Portal.You can view your Kubernetes cluster resource on the Azure portal. När du har öppnat portalen i webbläsaren navigerar du till resurs gruppen och den Azure Arc-aktiverade Kubernetes-resursen som baseras på de resurs namn och resurs grupp namn som användes tidigare i Install-AksHciArcOnboarding PowerShell-kommandot.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.

Anteckning

När klustret har registrerats tar det cirka 5 till 10 minuter för klustrets metadata (kluster version, agent version, antal noder) till Surface på sidan Översikt i den Azure Arc-aktiverade Kubernetes-resursen i 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.

Om du vill ta bort klustret eller ansluta klustret om det ligger bakom en utgående proxyserver, kan du gå till Anslut ett Azure Arc-aktiverat Kubernetes-kluster.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-agenter för KubernetesAzure Arc agents for Kubernetes

Azure Arc-aktiverade Kubernetes distribuerar några operatörer till azure-arc namn området.Azure Arc enabled Kubernetes deploys a few operators into the azure-arc namespace. Du kan visa dessa distributioner och poddar här:You can view these deployments and pods here:

kubectl -n azure-arc get deployments,pods

Azure Arc-aktiverade Kubernetes består av några agenter (operatörer) som körs i ditt kluster och som har distribuerats till azure-arc namn området.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: bevakar det anslutna klustret för käll kontroll konfigurations resurser som tillämpas på klustret och uppdaterar kompatibilitetstillstånddeployment.apps/config-agent: watches the connected cluster for source control configuration resources applied on the cluster and updates compliance state
  • deployment.apps/controller-manager: är en operatör av operatörer och dirigerar interaktioner mellan Azure båg-komponenterdeployment.apps/controller-manager: is an operator of operators and orchestrates interactions between Azure Arc components
  • deployment.apps/metrics-agent: samlar in Mät värden för andra Arc-agenter för att säkerställa att dessa agenter visar optimala prestandadeployment.apps/metrics-agent: collects metrics of other Arc agents to ensure that these agents are exhibiting optimal performance
  • deployment.apps/cluster-metadata-operator: samlar in kluster-metadata-kluster version, antal noder och Azure Arc agent-versiondeployment.apps/cluster-metadata-operator: gathers cluster metadata - cluster version, node count, and Azure Arc agent version
  • deployment.apps/resource-sync-agent: synkroniserar ovanstående klustrade metadata till Azuredeployment.apps/resource-sync-agent: syncs the above mentioned cluster metadata to Azure
  • deployment.apps/clusteridentityoperator: Azure Arc-aktiverad Kubernetes har för närvarande stöd för systemtilldelad identitet.deployment.apps/clusteridentityoperator: Azure Arc enabled Kubernetes currently supports system assigned identity. clusteridentityoperator upprätthåller det hanterade tjänst identitets certifikatet (MSI) som används av andra agenter för kommunikation med Azure.clusteridentityoperator maintains the managed service identity (MSI) certificate used by other agents for communication with Azure.
  • deployment.apps/flux-logs-agent: samlar in loggar från flödes operatörer som distribuerats som en del av käll kontroll konfigurationendeployment.apps/flux-logs-agent: collects logs from the flux operators deployed as a part of source control configuration

Nästa stegNext steps