Enable Azure Arc on Kubernetes cluster on your Azure Stack Edge Pro GPU device
ينطبق على:
Azure Stack Edge Pro - GPUAzure
Stack Edge Pro 2Azure
Stack Edge Pro RAzure
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 والعميل الذي ستستخدمه للوصول إلى الجهاز:
للجهاز
لديك بيانات اعتماد تسجيل الدخول إلى جهاز Azure Stack Edge مكون من 1 عقدة Pro.
- يتم تنشيط الجهاز. انظر تنشيط الجهاز.
- يحتوي الجهاز على دور الحوسبة الذي تم تكوينه عبر مدخل Azure ويحتوي على مجموعة Kubernetes. راجع تكوين الحوسبة.
لديك حق وصول المالك إلى الاشتراك. ستحتاج إلى هذا الوصول أثناء خطوة تعيين الدور لمدير الخدمة الخاص بك.
للعميل الوصول إلى الجهاز
لديك نظام عميل Windows سيتم استخدامه للوصول إلى جهاز Azure Stack Edge Pro.
العميل قيد التشغيل Windows PowerShell 5.0 أو أحدث. لتنزيل أحدث إصدار من Windows PowerShell، انتقل إلى تثبيت Windows PowerShell.
يمكنك الحصول على أي عميل آخر لديه نظام تشغيل مدعوم أيضا. توضح هذه المقالة الإجراء عند استخدام عميل Windows.
لقد أكملت الإجراء الموضح في الوصول إلى مجموعة Kubernetes على جهاز Azure Stack Edge Pro. أنت لديك:
- مثبت
kubectlعلى العميل. - تأكد من أن
kubectlإصدار العميل لا ينحرف أكثر من إصدار واحد من الإصدار الرئيسي Kubernetes الذي يعمل على جهاز Azure Stack Edge Pro.استخدم
kubectl versionللتحقق من إصدار kubectl الذي يعمل على العميل. قم بتدوين النسخة الكاملة.في واجهة المستخدم المحلية لجهاز Azure Stack Edge Pro، انتقل إلى تحديث البرامج ولاحظ رقم إصدار خادم Kubernetes.

تحقق من توافق هذين الإصدارين.
- مثبت
تسجيل موفري موارد Kubernetes
قبل تمكين Azure Arc على مجموعة Kubernetes، ستحتاج إلى تمكين اشتراكك والتسجيل Microsoft.Kubernetes ضده Microsoft.KubernetesConfiguration .
لتمكين موفر موارد، في مدخل Azure، انتقل إلى الاشتراك الذي تخطط لاستخدامه للنشر. انتقل إلى موفري الموارد.
في الجزء الأيسر، ابحث عن الموفرين الذين تريد إضافتهم. في هذا المثال،
Microsoft.KubernetesوMicrosoft.KubernetesConfiguration.
حدد موفر مورد ومن أعلى شريط الأوامر، حدد تسجيل. يستغرق التسجيل عدة دقائق.

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

يمكنك أيضا تسجيل مزودي الموارد عبر az cli. لمزيد من المعلومات، راجع تسجيل موفري Kubernetes الممكنين ل Azure Arc.
إنشاء مبدأ الخدمة، وتعيين الدور
تأكد من أن لديك
Subscription IDواسم مجموعة الموارد التي استخدمتها لنشر الموارد لخدمة Azure Stack Edge الخاصة بك. للحصول على معرف الاشتراك، انتقل إلى مورد Azure Stack Edge في مدخل Azure. انتقل إلى أساسيات النظرة العامة>.
للحصول على اسم مجموعة الموارد، انتقل إلى خصائص.

لإنشاء أصل خدمة، استخدم الأمر التالي عبر
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>قم بتدوين ،
appID،namepasswordوكماtenantIDستستخدم هذا كإدخال في الأمر التالي.بعد إنشاء مدير الخدمة الجديد، قم بتعيين
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:
الاتصال إلى واجهة PowerShell الخاصة بجهازك.
النوع:
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-HcsKubernetesAzureArcAgentcmdlet. عادة ما يتم تنسيق أسماء المواقع بدون أي مسافات.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، يجب إنشاء مورد بالاسم الذي قدمته في الأمر السابق.

للتحقق من تمكين 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، اتبع الخطوات التالية:
-
- الاتصال إلى واجهة PowerShell الخاصة بجهازك.
النوع:
Remove-HcsKubernetesAzureArcAgent
ملاحظة
بشكل افتراضي، عند حذف المورد yamls من مستودع Git، لا يتم حذف الموارد المقابلة من مجموعة Kubernetes. تحتاج إلى تعيين --sync-garbage-collection في Arc OperatorParams للسماح بحذف الموارد عند حذفها من مستودع git. لمزيد من المعلومات، راجع حذف تكوين
الخطوات التالية
لفهم كيفية تشغيل نشر Azure Arc، راجع نشر تطبيق PHP Guestbook عديم الجنسية باستخدام Redis عبر GitOps على جهاز Azure Stack Edge Pro