إعداد مجموعة Kubernetes التي تدعم Azure Arc

هام

معاينة عمليات Azure IoT - التي تم تمكينها بواسطة Azure Arc قيد المعاينة حاليا. يجب عدم استخدام برنامج المعاينة هذا في بيئات الإنتاج.

ستحتاج إلى نشر تثبيت Azure IoT Operations جديد عند توفير إصدار متوفر بشكل عام. لن تتمكن من ترقية تثبيت معاينة.

للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

يعد نظام مجموعة Kubernetes الذي يدعم Azure Arc شرطا أساسيا لنشر Azure IoT Operations Preview. توضح هذه المقالة كيفية إعداد نظام مجموعة قبل نشر Azure IoT Operations Preview إلى مجموعة Kubernetes الممكنة بواسطة Arc. تتضمن هذه المقالة إرشادات لكل من Ubuntu وWindows.

تلميح

تعد الخطوات الواردة في هذه المقالة نظام المجموعة لنشر إعدادات آمنة، وهي عملية أطول ولكنها جاهزة للإنتاج. إذا كنت ترغب في نشر عمليات Azure IoT بسرعة وتشغيل نموذج حمل العمل مع إعدادات الاختبار فقط، راجع التشغيل السريع: تشغيل معاينة عمليات Azure IoT في Github Codespaces باستخدام K3s بدلا من ذلك.

لمزيد من المعلومات حول إعدادات الاختبار والإعدادات الآمنة، راجع تفاصيل > النشر اختر ميزاتك.

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

يجب أن تعمل عمليات Azure IoT على أي مجموعة Kubernetes ممكنة بواسطة Arc تفي بمتطلبات نظام Kubernetes الممكنة في Azure Arc. حاليا لا تدعم عمليات Azure IoT بنيات Arm64.

تدعم Microsoft Azure Kubernetes Service (AKS) Edge Essentials للنشر على Windows وK3s للنشر على Ubuntu. للحصول على قائمة بمجموعات أجهزة وبرامج محددة يتم اختبارها والتحقق من صحتها، راجع البيئات التي تم التحقق من صحتها.

إذا كنت ترغب في نشر عمليات Azure IoT إلى حل متعدد العقد، فاستخدم K3s على Ubuntu.

لإعداد مجموعة Kubernetes التي تدعم Azure Arc، تحتاج إلى:

  • اشتراك Azure. إذا لم يكن لديك اشتراك Azure، فأنشئ اشتراكاً مجاناً قبل البدء.

  • Azure CLI الإصدار 2.64.0 أو أحدث مثبت على جهاز التطوير الخاص بك. استخدم az --version للتحقق من الإصدار وتحديثه az upgrade إذا لزم الأمر. لمزيد من المعلومات، راجع كيفية تثبيت Azure CLI.

  • أحدث إصدار من ملحق عمليات Azure IoT ل Azure CLI. استخدم الأمر التالي لإضافة الملحق أو تحديثه إلى أحدث إصدار:

    az extension add --upgrade --name azure-iot-ops
    
  • الأجهزة التي تفي بمتطلبات النظام:

    • تأكد من أن جهازك يحتوي على ذاكرة وصول عشوائي متوفرة بسعة 16 غيغابايت كحد أدنى، و8 وحدات معالجة مركزية ظاهرية متوفرة، ومساحة قرص خالية 52 غيغابايت محجوزة لعمليات Azure IoT.
    • متطلبات نظام Kubernetes الممكنة في Azure Arc.
    • متطلبات AKS Edge Essentials ومصفوفة الدعم.
    • إرشادات شبكة AKS Edge Essentials.
  • إذا كنت ستنشر عمليات Azure IoT إلى مجموعة متعددة العقد مع تمكين التسامح مع الخطأ، فراجع متطلبات الأجهزة والتخزين في إعداد Linux لوحدات تخزين Edge.

إنشاء نظام مجموعة

يوفر هذا القسم خطوات لإنشاء مجموعات في بيئات تم التحقق من صحتها على Linux وWindows.

Azure Kubernetes Service Edge Essentials هو تطبيق Kubernetes محلي لخدمة Azure Kubernetes (AKS) التي تقوم بأتمتة تشغيل التطبيقات المعبأة في حاويات على نطاق واسع. يتضمن AKS Edge Essentials منصة Kubernetes مدعومة من Microsoft تتضمن توزيع Kubernetes خفيف الوزن مع بصمة صغيرة وتجربة تثبيت بسيطة تدعم أجهزة الحافة من فئة الكمبيوتر الشخصي أو "الخفيف".

يقوم البرنامج النصي AksEdgeQuickStartForAio.ps1 بأتمتة عملية إنشاء نظام مجموعة وتوصيلها، وهو المسار الموصى به لنشر عمليات Azure IoT على AKS Edge Essentials.

  1. افتح نافذة PowerShell غير مقيدة وغير الدليل إلى مجلد عمل.

  2. احصل على objectId تطبيق معرف Microsoft Entra الذي تستخدمه خدمة Azure Arc في المستأجر الخاص بك.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. قم بتشغيل الأوامر التالية، واستبدل قيم العنصر النائب بمعلوماتك:

    Placeholder القيمة‬
    SUBSCRIPTION_ID معرف اشتراك Azure الخاص بك. إذا كنت لا تعرف معرف اشتراكك، فشاهد البحث عن اشتراك Azure الخاص بك.
    TENANT_ID معرف مستأجر Microsoft Entra. إذا كنت لا تعرف معرف المستأجر الخاص بك، فشاهد البحث عن مستأجر Microsoft Entra.
    RESOURCE_GROUP_NAME اسم مجموعة موارد موجودة أو اسم لمجموعة موارد جديدة سيتم إنشاؤها.
    الموقع منطقة Azure قريبة منك. للحصول على قائمة بمناطق Azure المدعومة حاليا، راجع المناطق المدعومة.
    CLUSTER_NAME اسم للمجموعة الجديدة التي سيتم إنشاؤها.
    ARC_APP_OBJECT_ID قيمة معرف الكائن التي قمت باستردادها في الخطوة السابقة.
    $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
    Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1
    Unblock-File .\AksEdgeQuickStartForAio.ps1
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
    

    إذا كانت هناك أي مشكلات أثناء النشر، بما في ذلك إذا كان الجهاز يعيد التشغيل كجزء من هذه العملية، فقم بتشغيل مجموعة الأوامر بأكملها مرة أخرى.

  4. قم بتشغيل الأوامر التالية للتحقق من نجاح النشر:

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    في إخراج Get-AksEdgeDeploymentInfo الأمر، يجب أن ترى أن حالة Arc الخاصة بالمجموعة هي Connected.

تمكين نظام المجموعة في Arc

قم بتوصيل مجموعتك ب Azure Arc بحيث يمكن إدارتها عن بعد.

قام البرنامج النصي AksEdgeQuickStartForAio.ps1 الذي قمت بتشغيله في القسم السابق بمعالجة خطوات توصيل نظام المجموعة. لا تحتاج إلى اتخاذ أي خطوات إضافية لتمكين Arc.

التحقق من نظام المجموعة

للتحقق من أن مجموعتك جاهزة لنشر عمليات Azure IoT، يمكنك استخدام الأمر verify-host helper في ملحق عمليات Azure IoT ل Azure CLI. عند التشغيل على مضيف نظام المجموعة، يتحقق أمر المساعد هذا من الاتصال ب Azure Resource Manager ونقاط نهاية Microsoft Container Registry.

az iot ops verify-host

للتحقق من أن مجموعة Kubernetes الخاصة بك ممكنة من Azure Arc، قم بتشغيل الأمر التالي:

kubectl get deployments,pods -n azure-arc

تبدو المخرجات مثل المثال التالي:

NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clusterconnect-agent         1/1     1            1           10m
deployment.apps/extension-manager            1/1     1            1           10m
deployment.apps/clusteridentityoperator      1/1     1            1           10m
deployment.apps/controller-manager           1/1     1            1           10m
deployment.apps/flux-logs-agent              1/1     1            1           10m
deployment.apps/cluster-metadata-operator    1/1     1            1           10m
deployment.apps/extension-events-collector   1/1     1            1           10m
deployment.apps/config-agent                 1/1     1            1           10m
deployment.apps/kube-aad-proxy               1/1     1            1           10m
deployment.apps/resource-sync-agent          1/1     1            1           10m
deployment.apps/metrics-agent                1/1     1            1           10m

NAME                                              READY   STATUS    RESTARTS        AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst         3/3     Running   0               10m
pod/extension-manager-65b8f7f4cb-tp7pp            3/3     Running   0               10m
pod/clusteridentityoperator-6d64fdb886-p5m25      2/2     Running   0               10m
pod/controller-manager-567c9647db-qkprs           2/2     Running   0               10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df              1/1     Running   0               10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z    2/2     Running   0               10m
pod/extension-events-collector-58dfb78cb5-vxbzq   2/2     Running   0               10m
pod/config-agent-7579f558d9-5jnwq                 2/2     Running   0               10m
pod/kube-aad-proxy-56d9f754d8-9gthm               2/2     Running   0               10m
pod/resource-sync-agent-769bb66b79-z9n46          2/2     Running   0               10m
pod/metrics-agent-6588f97dc-455j8                 2/2     Running   0               10m

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

الآن بعد أن أصبح لديك مجموعة Kubernetes ممكنة في Azure Arc، يمكنك نشر عمليات Azure IoT.