Azure Arc inschakelen op Kubernetes-cluster op uw Azure Stack Edge Pro GPU-apparaat
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
In dit artikel leest u hoe u Azure Arc inschakelt op een bestaand Kubernetes-cluster op uw Azure Stack Edge Pro-apparaat.
In deze procedure wordt ervan uitgegaan dat u de volgende artikelen hebt gelezen en begrepen:
- Kubernetes-workloads op Een Azure Stack Edge Pro-apparaat
- Wat is Kubernetes met Azure Arc (preview)?
Vereisten
Zorg ervoor dat u de volgende vereisten hebt voltooid op uw Azure Stack Edge Pro-apparaat en de client die u gebruikt voor toegang tot het apparaat:
Voor het apparaat
U hebt aanmeldingsreferenties voor een Azure Stack Edge Pro-apparaat met 1 knooppunt.
- Het apparaat is geactiveerd. Zie Het apparaat activeren.
- Het apparaat heeft de rekenrol geconfigureerd via Azure Portal en heeft een Kubernetes-cluster. Zie Rekenproces configureren.
U hebt eigenaarstoegang tot het abonnement. U hebt deze toegang nodig tijdens de stap voor roltoewijzing voor uw service-principal.
Voor clienttoegang tot het apparaat
U hebt een Windows-clientsysteem dat wordt gebruikt voor toegang tot het Azure Stack Edge Pro-apparaat.
Op de client wordt Windows PowerShell 5.0 of hoger uitgevoerd. Als u de nieuwste versie van Windows PowerShell wilt downloaden, gaat u naar Windows PowerShell installeren.
U kunt ook elke andere client met een ondersteund besturingssysteem hebben. In dit artikel wordt de procedure beschreven bij het gebruik van een Windows-client.
U hebt de procedure voltooid die wordt beschreven in Access the Kubernetes cluster on Azure Stack Edge Pro device. U hebt:
- Geïnstalleerd
kubectl
op de client. - Zorg ervoor dat de
kubectl
clientversie niet meer dan één versie is van de Kubernetes-hoofdversie die wordt uitgevoerd op uw Azure Stack Edge Pro-apparaat.Hiermee
kubectl version
controleert u de versie van kubectl die wordt uitgevoerd op de client. Noteer de volledige versie.Ga in de lokale gebruikersinterface van uw Azure Stack Edge Pro-apparaat naar Software-update en noteer het versienummer van de Kubernetes-server.
Controleer of deze twee versies compatibel zijn.
- Geïnstalleerd
Kubernetes-resourceproviders registreren
Voordat u Azure Arc inschakelt in het Kubernetes-cluster, moet u uw abonnement inschakelen en registreren en Microsoft.KubernetesConfiguration
registrerenMicrosoft.Kubernetes
.
Als u een resourceprovider wilt inschakelen, gaat u in Azure Portal naar het abonnement dat u wilt gebruiken voor de implementatie. Ga naar Resourceproviders.
Zoek in het rechterdeelvenster naar de providers die u wilt toevoegen. In dit voorbeeld
Microsoft.Kubernetes
enMicrosoft.KubernetesConfiguration
.Selecteer een resourceprovider en selecteer boven aan de opdrachtbalk de optie Registreren. Registratie duurt enkele minuten.
Vernieuw de gebruikersinterface totdat u ziet dat de resourceprovider is geregistreerd. Herhaal het proces voor beide resourceproviders.
U kunt ook resourceproviders registreren via de az cli
. Zie De twee providers registreren voor Kubernetes met Azure Arc voor meer informatie.
Service-principal maken, rol toewijzen
Zorg ervoor dat u
Subscription ID
beschikt over en de naam van de resourcegroep die u hebt gebruikt voor de resource-implementatie voor uw Azure Stack Edge-service. Als u de abonnements-id wilt ophalen, gaat u naar uw Azure Stack Edge-resource in Azure Portal. Navigeer naar Overzicht > Essentials.Ga naar Eigenschappen om de naam van de resourcegroep op te halen.
Als u een service-principal wilt maken, gebruikt u de volgende opdracht via de
az cli
.az ad sp create-for-rbac --name "<Informative name for service principal>"
Voor informatie over het aanmelden bij de
az cli
Start Cloud Shell in Azure Portal. Als uaz cli
een lokale client gebruikt om de service-principal te maken, controleert u of u versie 2.25 of hoger gebruikt.Dit is een voorbeeld.
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>
Noteer de
appID
,name
enpassword
tenantID
zoals u deze waarden gebruikt als invoer voor de volgende opdracht.Nadat u de nieuwe service-principal hebt gemaakt, wijst u de
Kubernetes Cluster - Azure Arc Onboarding
rol toe aan de zojuist gemaakte principal. Dit is een ingebouwde Azure-rol (gebruik de rol-id in de opdracht) met beperkte machtigingen. Gebruik de volgende opdracht:az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee <appId-from-service-principal> --scope /subscriptions/<SubscriptionID>/resourceGroups/<Resource-group-name>
Dit is een voorbeeld.
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/59272f92-e5ce-4aeb-9c0c-62532d8caf25", "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>
Arc inschakelen op Kubernetes-cluster
Volg deze stappen om het Kubernetes-cluster te configureren voor Azure Arc-beheer:
Maak verbinding met de PowerShell-interface van uw apparaat.
Type:
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>"
Wanneer deze opdracht wordt uitgevoerd, is er een vervolgprompt om de
ClientSecret
opdracht in te voeren. Geef het wachtwoord van de service-principal op.Voeg de
CloudEnvironment
parameter toe als u een andere cloud gebruikt dan azure public. U kunt deze parameter instellen opAZUREPUBLICCLOUD
,AZURECHINACLOUD
enAZUREGERMANCLOUD
AZUREUSGOVERNMENTCLOUD
.Notitie
- Als u Azure Arc op uw apparaat wilt implementeren, moet u ervoor zorgen dat u een ondersteunde regio voor Azure Arc gebruikt.
- Gebruik de
az account list-locations
opdracht om de exacte locatienaam te achterhalen die moet worden doorgegeven aan deSet-HcsKubernetesAzureArcAgent
cmdlet. Locatienamen worden doorgaans opgemaakt zonder spaties. ClientId
enClientSecret
zijn vereist.
Hier volgt een voorbeeld:
[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>
In Azure Portal moet een resource worden gemaakt met de naam die u in de voorgaande opdracht hebt opgegeven.
Voer de volgende opdracht uit vanuit de PowerShell-interface om te controleren of Azure Arc is ingeschakeld:
kubectl get deployments,pods -n azure-arc
Hier volgt een voorbeelduitvoer met de Azure Arc-agents die zijn geïmplementeerd in uw Kubernetes-cluster in de
azure-arc
naamruimte.[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>
Hier vindt u een conceptueel overzicht van deze agents.
Arc verwijderen uit het Kubernetes-cluster
Voer de volgende stappen uit om het Azure Arc-beheer te verwijderen:
-
- Maak verbinding met de PowerShell-interface van uw apparaat.
Type:
Remove-HcsKubernetesAzureArcAgent
Notitie
Wanneer de resource yamls
uit de Git-opslagplaats wordt verwijderd, worden de bijbehorende resources standaard niet verwijderd uit het Kubernetes-cluster. U moet in Arc OperatorParams instellen --sync-garbage-collection
om het verwijderen van resources toe te staan wanneer ze worden verwijderd uit de Git-opslagplaats. Zie Een configuratie verwijderen voor meer informatie