المتطلبات الأساسية لنشر أحمال عمل المستأجر

يشرح هذا الدليل المتطلبات الأساسية لإنشاء:

  • الأجهزة الظاهرية (VMs) لأحمال عمل وظيفة الشبكة الظاهرية (VNF).
  • عمليات نشر نظام مجموعة Nexus Kubernetes لأحمال عمل وظيفة الشبكة الأصلية على السحابة (CNF).

رسم تخطيطي لتدفق توزيع حمل عمل المستأجر.

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

تحتاج إلى إنشاء شبكات مختلفة بناء على احتياجات حمل العمل الخاص بك. قائمة الاعتبارات التالية ليست شاملة. استشر فرق الدعم المناسبة للحصول على المساعدة.

  • حدد أنواع الشبكات التي تحتاجها لدعم أحمال العمل الخاصة بك:
    • تتطلب شبكة الطبقة 3 (L3) تعيين VLAN والشبكة الفرعية. يجب أن تكون الشبكة الفرعية كبيرة بما يكفي لدعم تعيين IP لكل جهاز من الأجهزة الظاهرية. يحتفظ النظام الأساسي بأول ثلاثة عناوين IP قابلة للاستخدام الداخلي. على سبيل المثال، لدعم ستة أجهزة ظاهرية، يكون الحد الأدنى CIDR للشبكة الفرعية هو /28 (14 عنوانا قابلا للاستخدام - 3 محجوز = 11 عنوانا متوفرا).
    • تتطلب شبكة الطبقة 2 (L2) تعيين VLAN واحدا فقط.
    • تتطلب الشبكة الجذع تعيين شبكات VLAN متعددة.
  • حدد عدد الشبكات من كل نوع تحتاجه.
  • حدد حجم وحدة الإرسال الكبرى لكل شبكة من شبكاتك (الحد الأقصى هو 9000).
  • حدد معلومات نظير BGP لكل شبكة، وما إذا كانت الشبكات بحاجة إلى التحدث مع بعضها البعض. يجب عليك تجميع الشبكات التي تحتاج إلى التحدث مع بعضها البعض في نفس مجال عزل L3، لأن كل مجال عزل L3 يمكن أن يدعم شبكات L3 متعددة.
  • يوفر النظام الأساسي وكيلا للسماح لجهازك الظاهري بالوصول إلى نقاط النهاية الخارجية الأخرى. يتطلب إنشاء مثيل cloudservicesnetwork أن تكون نقاط النهاية مدعومة، لذا اجمع قائمة نقاط النهاية. يمكنك تعديل قائمة نقاط النهاية بعد إنشاء الشبكة.

إنشاء مجالات العزل

تتيح مجالات العزل الاتصال بين أحمال العمل المستضافة في نفس الحامل (الاتصال داخل الحامل) أو رفوف مختلفة (اتصال بين الرفين). يمكنك العثور على مزيد من التفاصيل حول إنشاء مجالات العزل هنا.

إنشاء شبكات لأحمال عمل المستأجر

تصف الأقسام التالية كيفية إنشاء هذه الشبكات:

  • شبكة الطبقة 2
  • شبكة الطبقة 3
  • شبكة الاتصال الجذع

إنشاء شبكة L2

إنشاء شبكة L2، إذا لزم الأمر، لأحمال العمل الخاصة بك. يمكنك تكرار الإرشادات لكل شبكة L2 مطلوبة.

اجمع معرف المورد لمجال عزل L2 الذي قمت بإنشائه لتكوين VLAN لهذه الشبكة.

  az networkcloud l2network create --name "<YourL2NetworkName>" \
    --resource-group "<YourResourceGroupName>" \
    --subscription "<YourSubscription>" \
    --extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
    --location "<ClusterAzureRegion>" \
    --l2-isolation-domain-id "<YourL2IsolationDomainId>"

إنشاء شبكة L3

إنشاء شبكة L3، إذا لزم الأمر، لأحمال العمل الخاصة بك. كرر الإرشادات لكل شبكة L3 مطلوبة.

تحتاج إلى

  • resourceID قيمة مجال عزل L3 الذي قمت بإنشائه لتكوين VLAN لهذه الشبكة.
  • ipv4-connected-prefix القيمة، التي يجب أن تتطابق مع i-pv4-connected-prefix القيمة الموجودة في مجال العزل L3.
  • ipv6-connected-prefix القيمة، التي يجب أن تتطابق مع i-pv6-connected-prefix القيمة الموجودة في مجال العزل L3.
  • ip-allocation-type القيمة، والتي يمكن أن تكون IPv4أو IPv6أو DualStack (افتراضية).
  • vlan القيمة، والتي يجب أن تتطابق مع ما هو موجود في مجال العزل L3.
  az networkcloud l3network create --name "<YourL3NetworkName>" \
    --resource-group "<YourResourceGroupName>" \
    --subscription "<YourSubscription>" \
    --extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
    --location "<ClusterAzureRegion>" \
    --ip-allocation-type "<YourNetworkIpAllocation>" \
    --ipv4-connected-prefix "<YourNetworkIpv4Prefix>" \
    --ipv6-connected-prefix "<YourNetworkIpv6Prefix>" \
    --l3-isolation-domain-id "<YourL3IsolationDomainId>" \
    --vlan <YourNetworkVlan>

إنشاء شبكة اتصال ذكى

إنشاء شبكة اتصال، إذا لزم الأمر، لجهازك الظاهري. كرر الإرشادات لكل شبكة اتصال مطلوبة.

resourceId اجمع قيم مجالات العزل L2 وL3 التي قمت بإنشائها مسبقا لتكوين شبكات VLAN لهذه الشبكة. يمكنك تضمين العديد من مجالات عزل L2 وL3 حسب الحاجة.

  az networkcloud trunkednetwork create --name "<YourTrunkedNetworkName>" \
    --resource-group "<YourResourceGroupName>" \
    --subscription "<YourSubscription>" \
    --extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
    --location "<ClusterAzureRegion>" \
    --interface-name "<YourNetworkInterfaceName>" \
    --isolation-domain-ids \
      "<YourL3IsolationDomainId1>" \
      "<YourL3IsolationDomainId2>" \
      "<YourL2IsolationDomainId1>" \
      "<YourL2IsolationDomainId2>" \
      "<YourL3IsolationDomainId3>" \
    --vlans <YourVlanList>

إنشاء شبكة خدمات سحابية

لإنشاء جهاز ظاهري ل Operator Nexus (VM) أو مجموعة Operator Nexus Kubernetes، يجب أن يكون لديك شبكة خدمات سحابية. بدون هذه الشبكة، لا يمكنك إنشاء جهاز ظاهري أو نظام مجموعة.

بينما تتيح شبكة الخدمات السحابية الوصول تلقائيا إلى نقاط نهاية النظام الأساسي الأساسية، تحتاج إلى إضافة نقاط نهاية أخرى، مثل docker.io، إذا كان تطبيقك يتطلبها. يعد تكوين وكيل شبكة الخدمات السحابية خطوة حاسمة في ضمان اتصال ناجح بنقاط النهاية المطلوبة. لتحقيق ذلك، يمكنك إضافة نقاط نهاية الخروج إلى شبكة الخدمات السحابية أثناء الإنشاء الأولي أو كتحديث، باستخدام المعلمة --additional-egress-endpoints . في حين أن أحرف البدل لنقاط نهاية عنوان URL قد تبدو ملائمة، فإنه لا يوصى به لأسباب أمنية. على سبيل المثال، إذا كنت تريد تكوين الوكيل للسماح بسحب الصورة من أي مستودع مستضاف docker.io، يمكنك تحديد .docker.io كنقطة نهاية.

يجب أن تتوافق نقاط نهاية الخروج مع بنيات اسم المجال ومواصفات اسم المضيف الموضحة في RFC 1034 وRFC 1035 وRFC 1123. تتضمن أسماء المجالات الصالحة أحرفا أبجدية رقمية وواصلات (وليس في البداية أو النهاية)، ويمكن أن تحتوي على مجالات فرعية مفصولة بنقاط. يمكن أن تكون نقاط النهاية FQDN واحدة، أو مجالا فرعيا (بادئة المجال مع .). فيما يلي بعض الأمثلة لإظهار اصطلاحات التسمية المتوافقة للمجال وأسماء المضيفين.

  • contoso.com: المجال الأساسي، الذي يعمل كمجال من المستوى الثاني ضمن مجال المستوى الأعلى .com.
  • sales.contoso.com: مجال فرعي contoso.com، يعمل كمجال من المستوى الثالث ضمن مجال المستوى الأعلى .com.
  • web-server-1.contoso.com: اسم مضيف لخادم ويب معين، باستخدام الواصلات لفصل الكلمات والرقم.
  • api.v1.contoso.com: يتضمن مجالين فرعيين (v1 و api) فوق المجال الأساسي contoso.com.
  • .api.contoso.com: حرف بدل لأي مجال فرعي ضمن api.contoso.com، يغطي مجالات متعددة من المستوى الثالث.
  az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
    --resource-group "<YourResourceGroupName >" \
    --subscription "<YourSubscription>" \
    --extended-location name="<ClusterCustomLocationId >" type="CustomLocation" \
    --location "<ClusterAzureRegion>" \
    --additional-egress-endpoints "[{\"category\":\"<YourCategory >\",\"endpoints\":[{\"<domainName1 >\":\"< endpoint1 >\",\"port\":<portnumber1 >}]}]"

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

إشعار

للتأكد من أنه يمكن سحب صورة VNF بشكل صحيح، تأكد من وجود عنوان URL ACR في قائمة السماح للخروج بشبكة الخدمات السحابية التي ستستخدمها مع الجهاز الظاهري ل Operator Nexus.

بالإضافة إلى ذلك، إذا تم تمكين نقاط نهاية بيانات مخصصة ل ACR، فستحتاج إلى إضافة جميع نقاط نهاية البيانات الجديدة إلى قائمة السماح للخروج. للعثور على جميع نقاط النهاية المحتملة ل ACR الخاص بك اتبع التعليمات هنا.

استخدام الوكيل للوصول خارج الجهاز الظاهري

بعد إنشاء نظام مجموعة Operator Nexus VM أو Operator Nexus Kubernetes مع شبكة الخدمات السحابية هذه، تحتاج إلى تعيين متغيرات البيئة المناسبة داخل الجهاز الظاهري بالإضافة إلى ذلك لاستخدام وكيل المستأجر والوصول خارج الجهاز الظاهري. وكيل المستأجر هذا مفيد إذا كنت بحاجة إلى الوصول إلى الموارد خارج الجهاز الظاهري، مثل إدارة الحزم أو تثبيت البرامج.

لاستخدام الوكيل، تحتاج إلى تعيين متغيرات البيئة التالية:

export HTTPS_PROXY=http://169.254.0.11:3128
export https_proxy=http://169.254.0.11:3128

بعد تعيين متغيرات بيئة الوكيل، سيتمكن جهازك الظاهري من الوصول إلى نقاط نهاية الخروج المكونة.

إشعار

HTTP غير مدعوم لأسباب أمنية عند استخدام الوكيل للوصول إلى الموارد خارج الجهاز الظاهري. مطلوب استخدام HTTPS للاتصال الآمن عند إدارة الحزم أو تثبيت البرامج على نظام مجموعة Operator Nexus VM أو Operator Nexus Kubernetes مع شبكة الخدمات السحابية هذه.

هام

عند استخدام وكيل، من المهم أيضا تعيين no_proxy متغير البيئة بشكل صحيح. يمكن استخدام هذا المتغير لتحديد المجالات أو عناوين IP التي لا يجب الوصول إليها من خلال الوكيل. إذا لم يتم تعيينه بشكل صحيح، يمكن أن يسبب مشكلات أثناء الوصول إلى الخدمات، مثل خادم Kubernetes API أو IP نظام المجموعة. تأكد من تضمين عنوان IP أو اسم المجال لخادم Kubernetes API وأي عناوين IP لنظام المجموعة في no_proxy المتغير.

منطقة توفر مجموعة Nexus Kubernetes

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

إذا لم تحدد منطقة عند إنشاء مجموعة Nexus Kubernetes، فإن النظام الأساسي ل Azure Operator Nexus ينفذ تلقائيا قاعدة افتراضية لمكافحة الترابط لنشر الجهاز الظاهري عبر الرفوف والعقد المعدنية المجردة وغير مضمونة. تهدف هذه القاعدة أيضا إلى منع جدولة الجهاز الظاهري لنظام المجموعة على عقدة تحتوي بالفعل على جهاز ظاهري من نفس المجموعة، ولكنها نهج أفضل جهد ولا يمكن أن تقدم ضمانات.

للحصول على قائمة المناطق المتوفرة في مثيل Azure Operator Nexus، يمكنك استخدام الأمر التالي:

    az networkcloud cluster show \
      --resource-group <Azure Operator Nexus on-premises cluster resource group> \
      --name <Azure Operator Nexus on-premises cluster name> \
      --query computeRackDefinitions[*].availabilityZone