Aktivera Azure Arc på Kubernetes-kluster på din Azure Stack Edge Pro GPU-enhet
GÄLLER FÖR: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Den här artikeln visar hur du aktiverar Azure Arc på ett befintligt Kubernetes-kluster på din Azure Stack Edge Pro-enhet.
Den här proceduren förutsätter att du har läst och förstått följande artiklar:
- Kubernetes-arbetsbelastningar på Azure Stack Edge Pro-enhet
- Vad är Azure Arc-aktiverade Kubernetes (förhandsversion)?
Förutsättningar
Kontrollera att du har slutfört följande krav på din Azure Stack Edge Pro-enhet och den klient som du använder för att komma åt enheten:
För enheten
Du har inloggningsuppgifter till en Azure Stack Edge Pro-enhet med en nod.
- Enheten är aktiverad. Se Aktivera enheten.
- Enheten har beräkningsrollen konfigurerad via Azure Portal och har ett Kubernetes-kluster. Se Konfigurera beräkning.
Du har ägaråtkomst till prenumerationen. Du skulle behöva den här åtkomsten under rolltilldelningssteget för tjänstens huvudnamn.
För klientåtkomst till enheten
Du har ett Windows-klientsystem som används för att komma åt Azure Stack Edge Pro-enheten.
Klienten kör Windows PowerShell 5.0 eller senare. Om du vill ladda ned den senaste versionen av Windows PowerShell går du till Installera Windows PowerShell.
Du kan också ha en annan klient med ett operativsystem som stöds. Den här artikeln beskriver proceduren när du använder en Windows-klient.
Du har slutfört proceduren som beskrivs i Åtkomst till Kubernetes-klustret på Azure Stack Edge Pro-enheten. Du har:
- Installerad
kubectl
på klienten. - Kontrollera att
kubectl
klientversionen inte är skev mer än en version från Kubernetes-huvudversionen som körs på din Azure Stack Edge Pro-enhet.Använd
kubectl version
för att kontrollera vilken version av kubectl som körs på klienten. Anteckna den fullständiga versionen.I det lokala användargränssnittet för din Azure Stack Edge Pro-enhet går du till Programuppdatering och noterar kubernetes-serverns versionsnummer.
Kontrollera att de här två versionerna är kompatibla.
- Installerad
Registrera Kubernetes-resursprovidrar
Innan du aktiverar Azure Arc i Kubernetes-klustret måste du aktivera och registrera Microsoft.Kubernetes
dig mot Microsoft.KubernetesConfiguration
din prenumeration.
Om du vill aktivera en resursprovider går du till den prenumeration som du planerar att använda för distributionen i Azure Portal. Gå till Resursprovidrar.
I den högra rutan söker du efter de leverantörer som du vill lägga till. I det här exemplet och
Microsoft.Kubernetes
Microsoft.KubernetesConfiguration
.Välj en resursprovider och välj Registrera överst i kommandofältet. Registreringen tar flera minuter.
Uppdatera användargränssnittet tills du ser att resursprovidern är registrerad. Upprepa processen för båda resursprovidrar.
Du kan också registrera resursprovidrar via az cli
. Mer information finns i Registrera de två leverantörerna för Azure Arc-aktiverade Kubernetes.
Skapa tjänstens huvudnamn, tilldela roll
Kontrollera att du har
Subscription ID
och namnet på den resursgrupp som du använde för resursdistributionen för Azure Stack Edge-tjänsten. Om du vill hämta prenumerations-ID:t går du till din Azure Stack Edge-resurs i Azure Portal. Gå till Översikt > Essentials.Om du vill hämta resursgruppens namn går du till Egenskaper.
Om du vill skapa ett huvudnamn för tjänsten använder du följande kommando via
az cli
.az ad sp create-for-rbac --name "<Informative name for service principal>"
För information om hur du loggar in på
az cli
, Starta Cloud Shell i Azure Portal. Om du använderaz cli
på en lokal klient för att skapa tjänstens huvudnamn kontrollerar du att du kör version 2.25 eller senare.Här följer ett exempel.
PS /home/user> az ad sp create-for-rbac --name "https://azure-arc-for-ase-k8s" { "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "azure-arc-for-ase-k8s", "name": "https://azure-arc-for-ase-k8s", "password": "<password>", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } PS /home/user>
Anteckna ,
appID
,name
password
ochtenantID
eftersom du använder dessa värden som indata till nästa kommando.När du har skapat det nya tjänstens huvudnamn tilldelar du
Kubernetes Cluster - Azure Arc Onboarding
rollen till det nyligen skapade huvudkontot. Det här är en inbyggd Azure-roll (använd roll-ID:t i kommandot) med begränsade behörigheter. Ange följande kommando:az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee <appId-from-service-principal> --scope /subscriptions/<SubscriptionID>/resourceGroups/<Resource-group-name>
Här följer ett exempel.
PS /home/user> az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1 { "canDelegate": null, "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000", "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "principalType": "ServicePrincipal", "resourceGroup": "myaserg1", "roleDefinitionId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41", "scope": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myaserg1", "type": "Microsoft.Authorization/roleAssignments" } PS /home/user>
Aktivera Arc på Kubernetes-kluster
Följ de här stegen för att konfigurera Kubernetes-klustret för Azure Arc-hantering:
Anslut till PowerShell-gränssnittet på enheten.
Ange:
Set-HcsKubernetesAzureArcAgent -SubscriptionId "<Your Azure Subscription Id>" -ResourceGroupName "<Resource Group Name>" -ResourceName "<Azure Arc resource name (shouldn't exist already)>" -Location "<Region associated with resource group>" -TenantId "<Tenant Id of service principal>" -ClientId "<App id of service principal>"
När det här kommandot körs finns det en uppföljningsprompt för att ange
ClientSecret
. Ange lösenordet för tjänstens huvudnamn.Lägg till parametern
CloudEnvironment
om du använder ett annat moln än Azure Public. Du kan ange parametern tillAZUREPUBLICCLOUD
,AZURECHINACLOUD
,AZUREGERMANCLOUD
ochAZUREUSGOVERNMENTCLOUD
.Kommentar
- Om du vill distribuera Azure Arc på enheten kontrollerar du att du använder en region som stöds för Azure Arc.
az account list-locations
Använd kommandot för att ta reda på det exakta platsnamnet som ska skickas i cmdletenSet-HcsKubernetesAzureArcAgent
. Platsnamn formateras vanligtvis utan blanksteg.ClientId
ochClientSecret
krävs.
Här är ett exempel:
[10.100.10.10]: PS>Set-HcsKubernetesAzureArcAgent -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "myaserg1" -ResourceName "myasetestresarc" -Location "westeurope" -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ClientId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" WARNING: A script or application on the remote computer 10.126.76.0 is sending a prompt request. When you are prompted, enter sensitive information, such as credentials or passwords, only if you trust the remote computer and the application or script that is requesting the data. cmdlet Set-HcsKubernetesAzureArcAgent at command pipeline position 1 Supply values for the following parameters: ClientSecret: ********************************** [10.100.10.10]: PS>
I Azure Portal ska en resurs skapas med det namn som du angav i föregående kommando.
Kontrollera att Azure Arc har aktiverats genom att köra följande kommando från PowerShell-gränssnittet:
kubectl get deployments,pods -n azure-arc
Här är ett exempel på utdata som visar De Azure Arc-agenter som distribuerades i ditt Kubernetes-kluster i
azure-arc
namnområdet.[10.128.44.240]: PS>kubectl get deployments,pods -n azure-arc NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 13d deployment.apps/clusterconnect-agent 1/1 1 1 13d deployment.apps/clusteridentityoperator 1/1 1 1 13d deployment.apps/config-agent 1/1 1 1 13d deployment.apps/controller-manager 1/1 1 1 13d deployment.apps/extension-manager 1/1 1 1 13d deployment.apps/flux-logs-agent 1/1 1 1 13d deployment.apps/kube-aad-proxy 1/1 1 1 13d deployment.apps/metrics-agent 1/1 1 1 13d deployment.apps/resource-sync-agent 1/1 1 1 13d NAME READY STATUS RESTARTS AGE pod/cluster-metadata-operator-9568b899c-2stjn 2/2 Running 0 13d pod/clusterconnect-agent-576758886d-vggmv 3/3 Running 0 13d pod/clusteridentityoperator-6f59466c87-mm96j 2/2 Running 0 13d pod/config-agent-7cbd6cb89f-9fdnt 2/2 Running 0 13d pod/controller-manager-df6d56db5-kxmfj 2/2 Running 0 13d pod/extension-manager-58c94c5b89-c6q72 2/2 Running 0 13d pod/flux-logs-agent-6db9687fcb-rmxww 1/1 Running 0 13d pod/kube-aad-proxy-67b87b9f55-bthqv 2/2 Running 0 13d pod/metrics-agent-575c565fd9-k5j2t 2/2 Running 0 13d pod/resource-sync-agent-6bbd8bcd86-x5bk5 2/2 Running 0 13d [10.128.44.240]: PS>
En konceptuell översikt över dessa agenter finns här.
Ta bort Arc från Kubernetes-klustret
Följ dessa steg för att ta bort Azure Arc-hanteringen:
-
- Anslut till PowerShell-gränssnittet på enheten.
Ange:
Remove-HcsKubernetesAzureArcAgent
Kommentar
När resursen yamls
tas bort från Git-lagringsplatsen tas som standard inte motsvarande resurser bort från Kubernetes-klustret. Du måste ange --sync-garbage-collection
i Arc OperatorParams för att tillåta borttagning av resurser när de tas bort från Git-lagringsplatsen. Mer information finns i Ta bort en konfiguration
Nästa steg
Information om hur du kör en Azure Arc-distribution finns i Distribuera ett tillståndslöst PHP-program Guestbook
med Redis via GitOps på en Azure Stack Edge Pro-enhet