Share via


Aktivera Azure Arc på Kubernetes-kluster på din Azure Stack Edge Pro GPU-enhet

GÄLLER FÖR: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

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:

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

  1. Du har inloggningsuppgifter till en Azure Stack Edge Pro-enhet med en nod.

    1. Enheten är aktiverad. Se Aktivera enheten.
    2. Enheten har beräkningsrollen konfigurerad via Azure-portalen och har ett Kubernetes-kluster. Se Konfigurera beräkning.
  2. 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

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

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

        Verify Kubernetes server version number

      • Kontrollera att de här två versionerna är kompatibla.

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.

  1. Om du vill aktivera en resursprovider går du till den prenumeration som du planerar att använda för distributionen i Azure-portalen. Gå till Resursprovidrar.

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

    Register Kubernetes resource providers

  3. Välj en resursprovider och välj Registrera överst i kommandofältet. Registreringen tar flera minuter.

    Register Kubernetes resource providers 2

  4. Uppdatera användargränssnittet tills du ser att resursprovidern är registrerad. Upprepa processen för båda resursprovidrar.

    Register Kubernetes resource providers 3

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

  1. 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-portalen. Gå till Översikt > Essentials.

    Get subscription ID

    Om du vill hämta resursgruppens namn går du till Egenskaper.

    Get resource group name

  2. 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-portalen. Om du använder az 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 är 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>
    
  3. Anteckna , appID, namepasswordoch tenantID eftersom du använder dessa värden som indata till nästa kommando.

  4. 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 är 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/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>
    

Aktivera Arc på Kubernetes-kluster

Följ de här stegen för att konfigurera Kubernetes-klustret för Azure Arc-hantering:

  1. Anslut till PowerShell-gränssnittet på enheten.

  2. 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 till AZUREPUBLICCLOUD, AZURECHINACLOUD, AZUREGERMANCLOUDoch AZUREUSGOVERNMENTCLOUD.

    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 och ClientSecret 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-portalen ska en resurs skapas med det namn som du angav i föregående kommando.

    Go to Azure Arc resource

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

    1. Anslut till PowerShell-gränssnittet på enheten.
  1. 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