Activer Azure Arc sur un cluster Kubernetes sur votre appareil avec GPU Azure Stack Edge Pro
S’APPLIQUE À : Azure Stack Edge Pro : GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Cet article explique comment activer Azure Arc sur un cluster Kubernetes existant sur votre appareil Azure Stack Edge Pro.
Cette procédure suppose que vous avez lu et compris les articles suivants :
- Charges de travail Kubernetes sur l’appareil Azure Stack Edge Pro
- Qu’est-ce que Kubernetes avec Azure Arc (préversion) ?
Prérequis
Vérifiez que vous avez rempli les conditions préalables suivantes sur votre appareil Azure Stack Edge Pro et le client que vous utilisez pour accéder à l’appareil :
Pour l’appareil
Vous avez les informations d’identification de connexion à un appareil Azure Stack Edge Pro à 1 nœud.
- L’appareil est activé. Voir Activer l’appareil.
- Le rôle de calcul est configuré sur l’appareil via le portail Azure et l’appareil dispose d’un cluster Kubernetes. Voir Configurer le calcul.
Vous disposez d’un accès de propriétaire à l’abonnement. Vous aurez besoin de cet accès au cours de l’étape d’attribution de rôle pour votre principal de service.
Pour un client accédant à l’appareil
Vous disposez d’un système client Windows utilisé pour accéder à l’appareil Azure Stack Edge Pro.
Le client exécute Windows PowerShell 5.0 ou une version ultérieure. Pour télécharger la dernière version de Windows PowerShell, accédez à Installation de Windows PowerShell.
Vous pouvez également utiliser un autre client avec un système d’exploitation pris en charge. Cet article décrit la procédure à utiliser avec un client Windows.
Vous avez terminé la procédure décrite dans Accéder au cluster Kubernetes sur l’appareil Azure Stack Edge Pro. Vous avez :
- Installé
kubectl
sur le client. - Assurez-vous que la version du client
kubectl
n’est pas décalée de plus d’une version par rapport à la version principale de Kubernetes exécutée sur votre appareil Azure Stack Edge Pro.Utilisez
kubectl version
pour vérifier la version de kubectl en cours d’exécution sur le client. Prenez note de la version complète.Dans l’interface utilisateur locale de votre appareil Azure Stack Edge Pro, accédez à Mise à jour de logiciel et notez le numéro de version du serveur Kubernetes.
Vérifiez que ces deux versions sont compatibles.
- Installé
Inscrire des fournisseurs de ressources Kubernetes
Avant d’activer Azure Arc sur le cluster Kubernetes, vous devez activer et inscrire Microsoft.Kubernetes
et Microsoft.KubernetesConfiguration
auprès de votre abonnement.
Pour activer un fournisseur de ressources, dans le portail Azure, accédez à l’abonnement que vous envisagez d’utiliser pour le déploiement. Accédez à Fournisseurs de ressources.
Dans le volet droit, recherchez les fournisseurs que vous souhaitez ajouter. Dans cet exemple,
Microsoft.Kubernetes
etMicrosoft.KubernetesConfiguration
.Sélectionnez un fournisseur de ressources, puis, dans la partie supérieure de la barre de commandes, sélectionnez Inscrire. L’inscription prend quelques minutes.
Actualisez l’interface utilisateur jusqu’à ce que le fournisseur de ressources soit inscrit. Répétez le processus pour les deux fournisseurs de ressources.
Vous pouvez également inscrire des fournisseurs de ressources via az cli
. Pour plus d’informations, consultez Inscrire les deux fournisseurs pour Kubernetes avec Azure Arc.
Créer un principal du service, attribuer un rôle
Assurez-vous que vous disposez du
Subscription ID
et du nom du groupe de ressources que vous avez utilisé pour le déploiement de ressource pour votre service Azure Stack Edge. Pour accéder à l’ID d’abonnement, accédez à votre ressource Azure Stack Edge dans le portail Azure. Accédez à Vue d’ensemble > Essentiels.Pour obtenir le nom du groupe de ressources, accédez à Propriétés.
Pour créer un principal de service, utilisez la commande suivante via
az cli
.az ad sp create-for-rbac --name "<Informative name for service principal>"
Pour plus d’informations sur la façon de se connecter à
az cli
, démarrez Cloud Shell dans le Portail Microsoft Azure. Si vous utilisezaz cli
sur un client local pour créer le principal de service, vérifiez que vous exécutez la version 2.25 ou ultérieure.Voici un exemple.
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>
Notez
appID
, lesname
,password
ettenantID
, car vous utiliserez ces valeurs comme entrée dans la commande suivante.Après avoir créé le principal de service, attribuez le rôle
Kubernetes Cluster - Azure Arc Onboarding
au principal nouvellement créé. Il s’agit d’un rôle Azure intégré (utilisez l’ID de rôle dans la commande) avec des autorisations limitées. Utilisez la commande suivante :az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee <appId-from-service-principal> --scope /subscriptions/<SubscriptionID>/resourceGroups/<Resource-group-name>
Voici un exemple.
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>
Activer Arc sur le cluster Kubernetes
Pour configurer le cluster Kubernetes pour la gestion d’Azure Arc, procédez comme suit :
Connectez-vous à l’interface PowerShell de votre appareil.
Tapez :
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>"
Lorsque cette commande est exécutée, il existe une invite de suivi pour entrer le
ClientSecret
. Fournissez le mot de passe du principal de service.Ajoutez le paramètre
CloudEnvironment
si vous utilisez un cloud autre que public Azure. Vous pouvez définir ce paramètre surAZUREPUBLICCLOUD
,AZURECHINACLOUD
,AZUREGERMANCLOUD
etAZUREUSGOVERNMENTCLOUD
.Remarque
- Pour déployer Azure Arc sur votre appareil, vous devez utiliser une Région prise en charge pour Azure Arc.
- Utilisez la commande
az account list-locations
pour connaître le nom exact de l'emplacement à transmettre dans la cmdletSet-HcsKubernetesAzureArcAgent
. Les noms d'emplacement ne comportent généralement pas d'espaces. ClientId
etClientSecret
sont requis.
Voici un exemple :
[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>
Dans le portail Azure, une ressource doit être créée avec le nom que vous avez fourni dans la commande précédente.
Pour vérifier que le service Azure Arc est correctement activé, exécutez la commande suivante à partir de l’interface PowerShell :
kubectl get deployments,pods -n azure-arc
Voici un exemple de sortie qui montre les agents Azure Arc déployés sur votre cluster Kubernetes dans l’espace de noms
azure-arc
.[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>
Une vue d’ensemble conceptuelle de ces agents est disponible ici.
Supprimer Arc du cluster Kubernetes
Pour supprimer la gestion d’Azure Arc, procédez comme suit :
-
- Connectez-vous à l’interface PowerShell de votre appareil.
Tapez :
Remove-HcsKubernetesAzureArcAgent
Remarque
Par défaut, lorsque les ressources yamls
sont supprimées du référentiel Git, les ressources correspondantes ne sont pas supprimées du cluster Kubernetes. Vous devez définir --sync-garbage-collection
dans Arc OperatorParams pour autoriser la suppression des ressources lorsqu'elles sont supprimées du référentiel Git. Pour plus d'informations, consultez Supprimer une configuration.
Étapes suivantes
Pour comprendre comment exécuter un déploiement Azure Arc, consultez Déploiement d’une application PHP Guestbook
sans état avec Redis via GitOps sur un appareil Azure Stack Edge Pro.