Delen via


Azure Arc inschakelen op Kubernetes-cluster op uw Azure Stack Edge Pro GPU-apparaat

VAN TOEPASSING OP:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure 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:

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

  1. U hebt aanmeldingsreferenties voor een Azure Stack Edge Pro-apparaat met 1 knooppunt.

    1. Het apparaat is geactiveerd. Zie Het apparaat activeren.
    2. Het apparaat heeft de rekenrol geconfigureerd via Azure Portal en heeft een Kubernetes-cluster. Zie Rekenproces configureren.
  2. 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

  1. 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.

  2. 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.

        Verify Kubernetes server version number

      • Controleer of deze twee versies compatibel zijn.

Kubernetes-resourceproviders registreren

Voordat u Azure Arc inschakelt in het Kubernetes-cluster, moet u uw abonnement inschakelen en registreren en Microsoft.KubernetesConfiguration registrerenMicrosoft.Kubernetes.

  1. Als u een resourceprovider wilt inschakelen, gaat u in Azure Portal naar het abonnement dat u wilt gebruiken voor de implementatie. Ga naar Resourceproviders.

  2. Zoek in het rechterdeelvenster naar de providers die u wilt toevoegen. In dit voorbeeld Microsoft.Kubernetes en Microsoft.KubernetesConfiguration.

    Register Kubernetes resource providers

  3. Selecteer een resourceprovider en selecteer boven aan de opdrachtbalk de optie Registreren. Registratie duurt enkele minuten.

    Register Kubernetes resource providers 2

  4. Vernieuw de gebruikersinterface totdat u ziet dat de resourceprovider is geregistreerd. Herhaal het proces voor beide resourceproviders.

    Register Kubernetes resource providers 3

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

  1. 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.

    Get subscription ID

    Ga naar Eigenschappen om de naam van de resourcegroep op te halen.

    Get resource group name

  2. 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 cliStart Cloud Shell in Azure Portal. Als u az cli een lokale client gebruikt om de service-principal te maken, controleert u of u versie 2.25 of hoger gebruikt.

    Hier volgt 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>
    
  3. Noteer de appID, nameen passwordtenantID zoals u deze waarden gebruikt als invoer voor de volgende opdracht.

  4. 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>

    Hier volgt 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:

  1. Verbinding maken naar de PowerShell-interface van uw apparaat.

  2. 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 ClientSecretopdracht 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 op AZUREPUBLICCLOUD, AZURECHINACLOUDen AZUREGERMANCLOUDAZUREUSGOVERNMENTCLOUD.

    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 de Set-HcsKubernetesAzureArcAgent cmdlet. Locatienamen worden doorgaans opgemaakt zonder spaties.
    • ClientId en ClientSecret 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.

    Go to Azure Arc resource

  3. 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:

    1. Verbinding maken naar de PowerShell-interface van uw apparaat.
  1. 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

Volgende stappen

Zie Een stateless PHP-toepassing Guestbook implementeren met Redis via GitOps op een Azure Stack Edge Pro-apparaat voor meer informatie over het uitvoeren van een Azure Arc-implementatie