إضافة موارد Azure Resource Manager (ARM) إلى إصدار تصميم خدمة شبكة Azure Operator Service Manager (AOSM) (NSDV)

يسمح لك Azure Operator Service Manager (AOSM) بدمج إصدارات تعريف وظيفة الشبكة (NFDV) وقوالب Azure Resource Manager (ARM) في إصدار تصميم خدمة الشبكة (NSDV). يصبح NSDV قالب واحد لخدمة الشبكة التي تحتوي على كل من وظيفة الشبكة والبنية الأساسية ل Azure التي تتطلب تشغيلها. يمكن لعامل التشغيل بعد ذلك نشر وظيفة الشبكة (NF) والبنية الأساسية الخاصة به في عملية واحدة.

في هذا الدليل الإرشادي، ستتعلم كيفية استخدام ملحق Azure CLI AOSM لإنشاء NSDV ونشره يحتوي على كل من وظيفة الشبكة الحاوية (CNF) مورد Azure Resource Manager (ARM).

الإلحاق هو عملية متعددة الخطوات. بمجرد تلبية المتطلبات الأساسية، ستستخدم ملحق Azure CLI AOSM من أجل:

  1. تعديل ملف إدخال NSDV موجود ل CNF تم إلحاقه مسبقا.
  2. املأ ملف الإدخال بالمعلومات المطلوبة لإنشاء تعريفات موارد AOSM.
  3. إنشاء ملفات BICEP التي تحدد مجموعة تصميم خدمة الشبكة والإصدار (NSDV) استنادا إلى ملف الإدخال وقالب ARM الخاص بك.
  4. نشر NSDV وتحميل قالب ARM إلى مخزن البيانات الاصطناعية (سجل حاويات Azure المدار بواسطة AOSM (ACR)).

يستخدم دليل الكيفية هذا Azure Key Vault (AKV) كمثال على مورد Azure، ومع ذلك، يمكن إلحاق أي مورد Azure باتباع الخطوات نفسها. تستخدم هذه المقالة CNF كمثال NF؛ العملية متطابقة لدالة شبكة ظاهرية (VNF) بصرف النظر عن الاختلافات الطفيفة في ملف إدخال NSDV.

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

  • لقد قمت بتمكين AOSM على اشتراك Azure الخاص بك.
  • إذا كان الغرض من CNF الخاص بك هو التشغيل على Azure Operator Nexus، فلديك حق الوصول إلى مثيل Azure Operator Nexus وأكملت المتطلبات الأساسية لنشر حمل العمل.
  • لقد قمت بإلحاق CNF ولديك ملف الإدخال الذي أنشأته مع az aosm nsd generate-config الملف المتوفر على التخزين المحلي للجهاز الذي تقوم بتنفيذ CLI منه.

تكوين الأذونات

  • تحتاج إلى دور المساهم عبر اشتراكك لإنشاء مجموعة موارد، أو مجموعة موارد موجودة حيث يكون لديك دور المساهم.
  • تحتاج إلى Contributor تعيينات الدور و AcrPush على الاشتراك الذي سيحتوي على مخزن البيانات الاصطناعية المدار من AOSM.
    • قد يمنعك نهج شركتك من الحصول على أذونات ذات نطاق اشتراك. --no-subscription-permissions تستخدم المعلمة المتوفرة في az aosm nsd publish الأمر أذونات ذات نطاق ضيق مشتقة من خدمة AOSM لتنسيق نسخة من خطوتين من وإلى جهازك المحلي. هذه النسخة المكونة من خطوتين أبطأ، ولكنها لا تتطلب أذونات محددة النطاق للاشتراك.

قوالب ARM

  • يجب أن يكون لديك قالب ARM يحدد موارد Azure التي تريد نشرها موجودة على التخزين المحلي للجهاز الذي تقوم بتنفيذ CLI منه.
  • يجب تعريف أي معلمات تريد عرضها للمشغل الذي سينشر NSDV كمعلمات في قالب ARM.

إشعار

لا يدعم ملحق Az CLI AOSM إلحاق موارد Azure المحددة في قالب BICEP. ومع ذلك، يمكنك استخدام bicep build الأمر لتحويل ملفات BICEP إلى قوالب ARM. راجع وثائق bicep CLI للحصول على معلومات مفصلة وإرشادات.

محرك Helm وDocker

  • تثبيت Helm CLI على الكمبيوتر المضيف. يجب استخدام Helm v3.8.0 أو أحدث.
  • تثبيت Docker على الكمبيوتر المضيف.

تنزيل Azure CLI وتثبيته

لتثبيت Azure CLI محليا، راجع كيفية تثبيت Azure CLI.

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

إشعار

إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker. يمكنك أيضا استخدام بيئة Bash في Azure cloud shell. لمزيد من المعلومات، راجع بدء Cloud Shell لاستخدام بيئة Bash في Azure Cloud Shell.

تثبيت ملحق AOSM CLI

يتطلب ملحق Az CLI AOSM الإصدار 2.54.0 أو أحدث من Azure CLI.

  1. قم بتشغيل az version لمشاهدة الإصدار والمكتبات التابعة المثبتة.
  2. قم بتشغيل az upgrade للترقية إلى الإصدار الحالي من Azure CLI.

تثبيت ملحق AOSM CLI باستخدام هذا الأمر:

az extension add --name aosm

إنشاء مجموعة تصميم خدمة الشبكة والإصدار

  1. افتح ملف إدخال NSDV الذي أنشأته عند إلحاقك ب CNF.

    إشعار

    يمكنك إنشاء ملف إدخال جديد باستخدام az aosm nsd generate-config --output-file <nsd-output-filename.jsonc> الأمر إذا لم يكن لديك ملف إدخال NSDV من إلحاق CNF.

  2. أدخل القيم المطلوبة باستخدام التعليقات المضمنة في ملف الإدخال. يوضح هذا المثال ملف إدخال ملحق Az CLI AOSM ل Contoso NSDV خيالي يمكن استخدامه لنشر Contoso CNF خيالي على مجموعة Nexus Kubernetes المتصلة ب Arc ومثيل AKV في موقع Azure.

    {
        // Azure location to use when creating resources e.g uksouth
        "location": "eastus",
        // Name of the Publisher resource you want your definition published to.
        // Will be created if it does not exist.
        "publisher_name": "contoso",
        // Resource group for the Publisher resource.
        // Will be created if it does not exist.
        "publisher_resource_group_name": "contoso",
        // Name of the ACR Artifact Store resource.
        // Will be created if it does not exist.
        "acr_artifact_store_name": "contoso-artifact-store",
        // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
        "nsd_name": "contoso-nsd",
        // Version of the NSD to be created. This should be in the format A.B.C
        "nsd_version": "1.0.0",
        // Optional. Description of the Network Service Design Version (NSDV).
        "nsdv_description": "An NSD that deploys the onboarded contoso-cnf NFD and an Azure Key Vault",
        // List of Resource Element Templates (RETs).
        // There must be at least one NF RET.
        // ArmTemplate RETs are optional. Delete if not required.
        "resource_element_templates": [
            {
                // Type of Resource Element. Either NF or ArmTemplate
                "resource_element_type": "NF",
                "properties": {
                    // The name of the existing publisher for the NSD.
                    "publisher": "contoso",
                    // The resource group that the publisher is hosted in.
                    "publisher_resource_group": "contoso",
                    // The name of the existing Network Function Definition Group to deploy using this NSD.
                    // This will be the same as the NF name if you published your NFDV using the CLI.
                    "name": "contoso-cnf-nfd",
                    // The version of the existing Network Function Definition to base this NSD on.
                    // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version.
                    "version": "1.0.0",
                    // The region that the NFDV is published to.
                    "publisher_offering_location": "eastus",
                    // Type of Network Function. Valid values are 'cnf' or 'vnf'.
                    "type": "cnf"
                }
            },
            {
                // Type of Resource Element. Either NF or ArmTemplate
                "resource_element_type": "ArmTemplate",
                // Properties of the Resource Element.
                "properties": {
                    // Name of the artifact. Used as internal reference only.
                    "artifact_name": "contoso-keyvault",
                    // Version of the artifact in 1.1.1 format (three integers separated by dots).
                    "version": "1.0.0",
                    // File path (absolute or relative to this configuration file) of the artifact you wish to upload from your local disk.
                    // Use Linux slash (/) file separator even if running on Windows.
                    "file_path": "./contoso-keyvault.json"
                }
            }
        ]
    }
    

    إشعار

    يحدد قسم قالب عنصر المورد NFD المضمن في NSD. يجب أن تتطابق الخصائص مع تلك المستخدمة في ملف الإدخال الذي تم تمريره az aosm nfd build إلى الأمر . وذلك لأن ملحق Azure CLI AOSM يتحقق من صحة إلحاق NFD بشكل صحيح عند إنشاء NSD.

  3. تنفيذ الأمر التالي لإنشاء مجموعة تصميم خدمة الشبكة وإصدار قوالب BICEP.

az aosm nsd build --config-file <nsd-output-filename.jsonc>

يمكنك مراجعة بنية المجلد والملفات وإجراء تعديلات إذا لزم الأمر.

نشر مجموعة تصميم خدمة الشبكة والإصدار

تنشئ هذه الخطوة موارد AOSM التي تحدد مجموعة تصميم خدمة الشبكة والإصدار. كما أنه يقوم بتحميل البيانات الاصطناعية المطلوبة من قبل NSDV إلى مخزن البيانات الاصطناعية (قالب NF ARM وقالب AKV ARM).

  1. نفذ الأمر التالي لنشر مجموعة تصميم خدمة الشبكة والإصدار. إذا لم يكن لديك نطاق Contributor الاشتراك وأدواره AcrPush ، فضمن --no-subscription-permissions في الأمر .
az aosm nsd publish --build-output-folder nsd-cli-output

لديك الآن مجموعة كاملة من موارد ناشر AOSM وجاهزة لتنفيذ تدفق عامل التشغيل.

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