Sdílet prostřednictvím


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

PLATÍ PRO:Yes for Pro GPU SKU Azure 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

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 a porozuměli následujícím článkům:

Předpoklady

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í:

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 accessovém clusteru Kubernetes na zařízení Azure Stack Edge Pro. Máte:

    • Nainstalováno kubectl v klientovi.
    • Ujistěte se, že kubectl verze klienta není více než jedna verze z hlavní verze Kubernetes spuštěné na vašem zařízení Azure Stack Edge Pro.
      • Slouží kubectl version ke kontrole verze kubectl spuštěné v klientovi. 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.

        Verify Kubernetes server version number

      • 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 a Microsoft.KubernetesConfiguration v Microsoft.Kubernetes předplatném.

  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.

    Register Kubernetes resource providers

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

    Register Kubernetes resource providers 2

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

    Register Kubernetes resource providers 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 Subscription ID skupinu prostředků, kterou jste použili pro nasazení prostředků pro službu Azure Stack Edge, a název skupiny prostředků. 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 části Základní informace o přehledu>.

    Get subscription ID

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

    Get resource group name

  2. K vytvoření instančního objektu použijte následující příkaz prostřednictvím příkazu 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 k vytvoření instančního objektu používáte az cli místního klienta, ujistěte se, že používáte verzi 2.25 nebo novější.

    Tady je 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 appIDsi , namepassworda tenantID jak tyto hodnoty použijete jako vstup k dalšímu příkazu.

  4. Po vytvoření nového instančního objektu Kubernetes Cluster - Azure Arc Onboarding přiřaďte roli nově vytvořenému objektu zabezpečení. 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>

    Tady je 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/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>
    

Povolení služby Arc v clusteru Kubernetes

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

  1. Připojení do rozhraní PowerShellu vašeho zařízení.

  2. Zadejte:

    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í ClientSecretpříkazu . Zadejte heslo instančního objektu.

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

    Poznámka:

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

    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.

    Go to Azure Arc resource

  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 clusteru Kubernetes v azure-arc oboru názvů.

    [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řipojení do rozhraní PowerShellu vašeho zařízení.
  1. Zadejte:

    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 při odstranění 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.