Sdílet prostřednictvím


Povolení služby Azure Arc v clusteru Kubernetes na zařízení Azure Stack Edge Pro GPU

PLATÍ PRO:Ano pro skladovou položku Pro GPU Azure Stack Edge Pro – GPUAno pro skladovou položku Pro 2Azure Stack Edge Pro 2Ano pro skladovou položku Pro RAzure Stack Edge Pro RAno pro SKU Mini RAzure Stack Edge Mini R

V tomto článku se dozvíte, jak povolit Azure Arc v existujícím clusteru Kubernetes na zařízení Azure Stack Edge Pro.

Tento postup předpokládá, že jste si přečetli následující články a porozuměli jim:

Požadavky

Ujistěte se, že jste dokončili následující požadavky na zařízení Azure Stack Edge Pro a klienta, kterého používáte pro přístup k zařízení:

Pro zařízení

  1. Máte přihlašovací údaje k zařízení Azure Stack Edge Pro s 1 uzly.

    1. Zařízení je aktivované. Viz Aktivace zařízení.
    2. Zařízení má nakonfigurovanou výpočetní roli prostřednictvím webu Azure Portal a má cluster Kubernetes. Viz Konfigurace výpočetních prostředků.
  2. Máte přístup vlastníka k předplatnému. Tento přístup budete potřebovat během kroku přiřazení role pro instanční objekt.

Pro klienty přistupující k zařízení

  1. Máte klientský systém Windows, který se používá pro přístup k zařízení Azure Stack Edge Pro.

    • Klient používá Windows PowerShell 5.0 nebo novější. Pokud si chcete stáhnout nejnovější verzi Windows PowerShellu, přejděte do části Instalace Windows PowerShellu.

    • Můžete mít i jakéhokoli jiného klienta s podporovaným operačním systémem . Tento článek popisuje postup při použití klienta systému Windows.

  2. Dokončili jste postup popsaný v části Přístup ke clusteru Kubernetes na zařízení Azure Stack Edge Pro. Máte:

    • Nainstalováno kubectl v klientovi.
    • Ujistěte se, že verze klienta kubectl se nevychyluje o více než jednu verzi od verze Kubernetes spuštěné na vašem zařízení Azure Stack Edge Pro.
      • Použijte kubectl version ke kontrole verze kubectl běžícího na klientu. Poznamenejte si plnou verzi.

      • V místním uživatelském rozhraní vašeho zařízení Azure Stack Edge Pro přejděte na Aktualizace softwaru a poznamenejte si číslo verze serveru Kubernetes.

        Snímek obrazovky s ověřením čísla verze serveru Kubernetes

      • Ověřte, že jsou tyto dvě verze kompatibilní.

Registrace poskytovatelů prostředků Kubernetes

Než povolíte Azure Arc v clusteru Kubernetes, musíte povolit a zaregistrovat Microsoft.Kubernetes a Microsoft.KubernetesConfiguration do vašeho předplatného.

  1. Pokud chcete povolit poskytovatele prostředků, přejděte na webu Azure Portal k předplatnému, které plánujete použít pro nasazení. Přejděte na poskytovatele prostředků.

  2. V pravém podokně vyhledejte zprostředkovatele, které chcete přidat. V tomto příkladu Microsoft.Kubernetes a Microsoft.KubernetesConfiguration.

    Snímek obrazovky s registrací poskytovatelů prostředků Kubernetes

  3. Vyberte poskytovatele prostředků a v horní části panelu příkazů vyberte Zaregistrovat. Registrace trvá několik minut.

    Snímek obrazovky s registrováním poskytovatelů prostředků Kubernetes, 2

  4. Aktualizujte uživatelské rozhraní, dokud neuvidíte, že je zaregistrovaný poskytovatel prostředků. Opakujte proces pro oba poskytovatele prostředků.

    Snímek obrazovky z registrace poskytovatelů prostředků Kubernetes 3

Poskytovatele prostředků můžete také zaregistrovat prostřednictvím nástroje az cli. Další informace najdete v tématu Registrace dvou poskytovatelů pro Kubernetes s podporou Azure Arc.

Vytvoření instančního objektu, přiřazení role

  1. Ujistěte se, že máte jak Subscription ID, tak i název skupiny prostředků, kterou jste použili pro nasazení ve službě Azure Stack Edge. Id předplatného získáte tak, že na webu Azure Portal přejdete k prostředku Azure Stack Edge. Přejděte do Přehled Základy>.

    Snímek obrazovky získání ID předplatného

    Název skupiny prostředků získáte tak, že přejdete na Vlastnosti.

    Snímek obrazovky získání názvu skupiny prostředků

  2. K vytvoření služebního principálu použijte následující příkaz pomocí az cli.

    az ad sp create-for-rbac --name "<Informative name for service principal>"

    Informace o tom, jak se přihlásit ke službě Cloud Shell, az clinajdete na webu Azure Portal. Pokud pro vytvoření principálu služby používáte místního klienta az cli, ujistěte se, že používáte verzi 2.25 nebo novější.

    Následuje příklad.

    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. Poznamenejte si appId, name, password a tenantID, protože tyto hodnoty použijete jako vstup pro další příkaz.

    Existuje několik způsobů, jak získat appId. Upřednostňované metody jsou následující tři možnosti. Pokud použijete jednu z následujících možností, můžete přeskočit kroky 1, 2 a 3 z předchozí části a přejít přímo k následujícímu kroku 4.

    • Možnost 1 – Použijte MiniShell ke spuštění následující rutiny PowerShellu:

      [Device-IP]: PS> Get-AzureDataBoxEdgeApplicationId
      xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      [Device-IP]: PS>
      
    • Možnost 2 : Pomocí následujících kroků zobrazíte podrobnosti JSON pro vaše zařízení na webu Azure Portal:

      1. Přejděte na přehled zařízení Azure Stack Edge a pak vyberte zobrazení JSON vpravo nahoře.

        Snímek obrazovky stránky Přehled pro vaše zařízení Azure Stack Edge.

      2. V podrobnostech JSON prostředku pro vaše zařízení si poznamenejte principalId.

        Snímek obrazovky s zobrazením podrobností JSON pro zařízení Azure Stack Edge

    • Možnost 3 – Spuštěním následujícího příkazu použijte PowerShell mimo Azure Stack Edge na klientském počítači:

      // ASE resource group and resource name can be obtained from Azure portal
      PS C:\> $ASEResource= GetAzResource –ResourceGroupName <resource-group-name> -ResourceName <resource-name>
      PS C:\> $ASEResource.Identity.PrincipalId
      xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      PS C:\>
      
  4. Po vytvoření nového služebního objektu nebo po jeho načtení pomocí jedné z těchto možností přiřaďte Kubernetes Cluster - Azure Arc Onboarding roli nově vytvořenému služebnímu objektu. Jedná se o integrovanou roli Azure (použití ID role v příkazu) s omezenými oprávněními. Použijte následující příkaz:

    az role assignment create --role 34e09817-6cbe-4d01-b1a2-e0eac5743d41 --assignee <appId-from-service-principal> --scope /subscriptions/<SubscriptionID>/resourceGroups/<Resource-group-name>

    Následuje příklad.

    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>
    

Povolení služby Arc v clusteru Kubernetes

Ke konfiguraci clusteru Kubernetes pro správu Azure Arc postupujte takto:

  1. Připojte se k rozhraní PowerShellu vašeho zařízení.

  2. Spusťte následující příkaz:

    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>"

    Po spuštění tohoto příkazu se zobrazí následující výzva k zadání ClientSecret. Na příkazovém řádku zadejte heslo principálu služby.

    CloudEnvironment Přidejte parametr, pokud používáte jiný cloud než veřejný Azure. Tento parametr můžete nastavit na AZUREPUBLICCLOUD, AZURECHINACLOUD, AZUREGERMANCLOUDa AZUREUSGOVERNMENTCLOUD.

    Důležité informace o využití:

    • Pokud chcete nasadit Azure Arc na zařízení, ujistěte se, že používáte podporovanou oblast pro Azure Arc.
    • Pomocí příkazu az account list-locations určete přesný název umístění, který se má předat příkazovému modulu Set-HcsKubernetesAzureArcAgent. Názvy umístění jsou obvykle formátované bez mezer.

    Důležité

    Pokud místo vytvoření nového servisního principu získáte Id pomocí starší metody, nezadávejte ClientId, TenantId ani ClientSecret.

    Tady je příklad:

    [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>
    

    Na webu Azure Portal by se měl vytvořit prostředek s názvem, který jste zadali v předchozím příkazu.

    Snímek obrazovky s přechodem na prostředek Azure Arc

  3. Pokud chcete ověřit, že je Služba Azure Arc úspěšně povolená, spusťte z rozhraní PowerShellu následující příkaz:

    kubectl get deployments,pods -n azure-arc

    Tady je ukázkový výstup, který ukazuje agenty Azure Arc nasazené v azure-arc oboru názvů ve vašem clusteru Kubernetes.

    [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>
    

Tady je k dispozici koncepční přehled těchto agentů.

Odebrání služby Arc z clusteru Kubernetes

Pokud chcete odebrat správu Azure Arc, postupujte takto:

  1. Připojte se k rozhraní PowerShellu vašeho zařízení.

  2. Spusťte následující příkaz:

    Remove-HcsKubernetesAzureArcAgent

Poznámka:

Ve výchozím nastavení se při odstranění prostředku yamls z úložiště Git neodstraní odpovídající prostředky z clusteru Kubernetes. V Arc OperatorParams musíte nastavit --sync-garbage-collection, aby bylo možné odstranit prostředky, když jsou odstraněny z úložiště Git. Další informace najdete v tématu Odstranění konfigurace.

Další kroky

Informace o tom, jak spustit nasazení Azure Arc, najdete v tématu Nasazení bezstavové aplikace PHP Guestbook s Redisem prostřednictvím GitOps na zařízení Azure Stack Edge Pro.