Enable Azure Arc on Kubernetes cluster on your Azure Stack Edge Pro GPU device

ينطبق على:Yes for Pro GPU SKU Azure Stack Edge Pro - GPUAzureYes for Pro 2 SKU Stack Edge Pro 2AzureYes for Pro R SKU Stack Edge Pro RAzureYes for Mini R SKU Stack Edge Mini R

توضح لك هذه المقالة كيفية تمكين Azure Arc على مجموعة Kubernetes موجودة على جهاز Azure Stack Edge Pro.

هذا الإجراء مخصص لأولئك الذين راجعوا أحمال عمل Kubernetes على جهاز Azure Stack Edge Pro وهم على دراية بمفاهيم ما هو Kubernetes (معاينة) الذي يدعم Azure Arc؟.

المتطلبات الأساسية

قبل أن تتمكن من تمكين Azure Arc على مجموعة Kubernetes، تأكد من إكمال المتطلبات الأساسية التالية على جهاز Azure Stack Edge Pro والعميل الذي ستستخدمه للوصول إلى الجهاز:

للجهاز

  1. لديك بيانات اعتماد تسجيل الدخول إلى جهاز Azure Stack Edge مكون من 1 عقدة Pro.

    1. يتم تنشيط الجهاز. انظر تنشيط الجهاز.
    2. يحتوي الجهاز على دور الحوسبة الذي تم تكوينه عبر مدخل Azure ويحتوي على مجموعة Kubernetes. راجع تكوين الحوسبة.
  2. لديك حق وصول المالك إلى الاشتراك. ستحتاج إلى هذا الوصول أثناء خطوة تعيين الدور لمدير الخدمة الخاص بك.

للعميل الوصول إلى الجهاز

  1. لديك نظام عميل Windows سيتم استخدامه للوصول إلى جهاز Azure Stack Edge Pro.

    • العميل قيد التشغيل Windows PowerShell 5.0 أو أحدث. لتنزيل أحدث إصدار من Windows PowerShell، انتقل إلى تثبيت Windows PowerShell.

    • يمكنك الحصول على أي عميل آخر لديه نظام تشغيل مدعوم أيضا. توضح هذه المقالة الإجراء عند استخدام عميل Windows.

  2. لقد أكملت الإجراء الموضح في الوصول إلى مجموعة Kubernetes على جهاز Azure Stack Edge Pro. أنت لديك:

    • مثبت kubectl على العميل.
    • تأكد من أن kubectl إصدار العميل لا ينحرف أكثر من إصدار واحد من الإصدار الرئيسي Kubernetes الذي يعمل على جهاز Azure Stack Edge Pro.
      • استخدم kubectl version للتحقق من إصدار kubectl الذي يعمل على العميل. قم بتدوين النسخة الكاملة.

      • في واجهة المستخدم المحلية لجهاز Azure Stack Edge Pro، انتقل إلى تحديث البرامج ولاحظ رقم إصدار خادم Kubernetes.

        Verify Kubernetes server version number

      • تحقق من توافق هذين الإصدارين.

تسجيل موفري موارد Kubernetes

قبل تمكين Azure Arc على مجموعة Kubernetes، ستحتاج إلى تمكين اشتراكك والتسجيل Microsoft.Kubernetes ضده Microsoft.KubernetesConfiguration .

  1. لتمكين موفر موارد، في مدخل Azure، انتقل إلى الاشتراك الذي تخطط لاستخدامه للنشر. انتقل إلى موفري الموارد.

  2. في الجزء الأيسر، ابحث عن الموفرين الذين تريد إضافتهم. في هذا المثال، Microsoft.Kubernetes و Microsoft.KubernetesConfiguration.

    Register Kubernetes resource providers

  3. حدد موفر مورد ومن أعلى شريط الأوامر، حدد تسجيل. يستغرق التسجيل عدة دقائق.

    Register Kubernetes resource providers 2

  4. قم بتحديث واجهة المستخدم حتى ترى أن موفر الموارد مسجل. كرر العملية لكل من موفري الموارد.

    Register Kubernetes resource providers 3

يمكنك أيضا تسجيل مزودي الموارد عبر az cli. لمزيد من المعلومات، راجع تسجيل موفري Kubernetes الممكنين ل Azure Arc.

إنشاء مبدأ الخدمة، وتعيين الدور

  1. تأكد من أن لديك Subscription ID واسم مجموعة الموارد التي استخدمتها لنشر الموارد لخدمة Azure Stack Edge الخاصة بك. للحصول على معرف الاشتراك، انتقل إلى مورد Azure Stack Edge في مدخل Azure. انتقل إلى أساسيات النظرة العامة>.

    Get subscription ID

    للحصول على اسم مجموعة الموارد، انتقل إلى خصائص.

    Get resource group name

  2. لإنشاء أصل خدمة، استخدم الأمر التالي عبر az cliملف .

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

    للحصول على معلومات حول كيفية تسجيل الدخول az cli، ابدأ Cloud Shell في مدخل Azure. في حالة الاستخدام az cli على عميل محلي لإنشاء أصل الخدمة، تأكد من تشغيل الإصدار 2.25 أو إصدار أحدث.

    وإليك مثالاً.

    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. قم بتدوين ، appID، namepasswordوكما tenantID ستستخدم هذا كإدخال في الأمر التالي.

  4. بعد إنشاء مدير الخدمة الجديد، قم بتعيين Kubernetes Cluster - Azure Arc Onboarding الدور إلى المدير الذي تم إنشاؤه حديثا. هذا دور Azure مضمن (استخدم معرف الدور في الأمر) بأذونات محدودة. استخدم الأمر التالي:

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

    وإليك مثالاً.

    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 on Kubernetes

اتبع الخطوات التالية لتكوين مجموعة Kubernetes لإدارة Azure Arc:

  1. الاتصال إلى واجهة PowerShell الخاصة بجهازك.

  2. النوع:

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

    عند تشغيل هذا الأمر، هناك مطالبة متابعة لإدخال ClientSecretملف . توفير كلمة المرور الرئيسية للخدمة.

    أضف المعلمة CloudEnvironment إذا كنت تستخدم سحابة أخرى غير Azure public. يمكنك تعيين هذه المعلمة إلى AZUREPUBLICCLOUD، ، ، AZUREGERMANCLOUDAZURECHINACLOUDو AZUREUSGOVERNMENTCLOUD.

    ملاحظة

    • لنشر Azure Arc على جهازك، تأكد من أنك تستخدم منطقة مدعومة ل Azure Arc.
    • az account list-locations استخدم الأمر لمعرفة اسم الموقع الدقيق لتمريره في Set-HcsKubernetesAzureArcAgent cmdlet. عادة ما يتم تنسيق أسماء المواقع بدون أي مسافات.
    • ClientId وهي ClientSecret مطلوبة.

    وفيما يلي مثال على ذلك:

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

    في مدخل Azure، يجب إنشاء مورد بالاسم الذي قدمته في الأمر السابق.

    Go to Azure Arc resource

  3. للتحقق من تمكين Azure Arc بنجاح، قم بتشغيل الأمر التالي من واجهة PowerShell:

    kubectl get deployments,pods -n azure-arc

    فيما يلي نموذج إخراج يعرض عوامل Azure Arc التي تم نشرها على مجموعة Kubernetes في 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>
    

تتوفر نظرة عامة مفاهيمية على هذه العوامل هنا.

إزالة القوس من مجموعة Kubernetes

لإزالة إدارة Azure Arc، اتبع الخطوات التالية:

    1. الاتصال إلى واجهة PowerShell الخاصة بجهازك.
  1. النوع:

    Remove-HcsKubernetesAzureArcAgent

ملاحظة

بشكل افتراضي، عند حذف المورد yamls من مستودع Git، لا يتم حذف الموارد المقابلة من مجموعة Kubernetes. تحتاج إلى تعيين --sync-garbage-collection في Arc OperatorParams للسماح بحذف الموارد عند حذفها من مستودع git. لمزيد من المعلومات، راجع حذف تكوين

الخطوات التالية

لفهم كيفية تشغيل نشر Azure Arc، راجع نشر تطبيق PHP Guestbook عديم الجنسية باستخدام Redis عبر GitOps على جهاز Azure Stack Edge Pro