شبكة Kubernetes على جهاز Azure Stack Edge Pro GPU

ينطبق على: نعم ل Pro GPU SKUAzure Stack Edge Pro - GPUنعم ل Pro 2 SKUAzure Stack Edge Pro 2نعم ل Pro R SKUAzure Stack Edge Pro Rنعم ل Mini R SKUAzure Stack Edge Mini R

على جهاز Azure Stack Edge Pro GPU، يتم إنشاء مجموعة Kubernetes عند تكوين دور الحساب. بمجرد إنشاء مجموعة Kubernetes، يمكن نشر التطبيقات الحاوية على مجموعة Kubernetes في Pods. هناك طرق مميزة لاستخدام الشبكات ل Pods في مجموعة Kubernetes الخاصة بك.

توضح هذه المقالة الشبكات في مجموعة Kubernetes بشكل عام وتحديدا في سياق جهاز Azure Stack Edge Pro GPU.

متطلبات الشبكات

فيما يلي مثال على تطبيق نموذجي من طبقتين يتم نشره في مجموعة Kubernetes.

  • يحتوي التطبيق على واجهة أمامية لخادم ويب وتطبيق قاعدة بيانات في الخلفية.
  • يتم تعيين عنوان IP لكل جراب ولكن يمكن تغيير عناوين IP هذه عند إعادة التشغيل وتجاوز الفشل للجراب.
  • يتكون كل تطبيق من عدة جرابات ويجب أن يكون هناك موازنة تحميل لنسبة استخدام الشبكة عبر جميع النسخ المتماثلة للجراب.

متطلبات شبكة Kubernetes

ينتج عن السيناريو أعلاه متطلبات الشبكة التالية:

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

لحل كل من الاحتياجات المذكورة أعلاه، نقدم خدمة Kubernetes.

خدمات الشبكات

هناك نوعان من خدمات Kubernetes:

  • خدمة IP للمجموعة - فكر في هذه الخدمة على أنها توفر نقطة نهاية ثابتة لقرون التطبيق. لا يمكن الوصول إلى أي جراب مقترن بهذه الخدمات من خارج مجموعة Kubernetes. يأتي عنوان IP المستخدم مع هذه الخدمات من مساحة العنوان في الشبكة الخاصة.

    لعرض الحجيرات داخل مجموعة Kubernetes للوصول إليها كقرون أخرى وليس كخدمة موازن تحميل مكشوفة خارجيا، راجع كيفية كشف خدمة Kubernetes كخدمة IP لنظام المجموعة للاتصال الداخلي.

  • عنوان IP لموازن التحميل - مثل خدمة IP للمجموعة ولكن IP المقترن يأتي من الشبكة الخارجية ويمكن الوصول إليه من خارج مجموعة Kubernetes.

تكوين شبكة Kubernetes

يتم توفير عناوين IP المستخدمة لعقد Kubernetes والخدمات الخارجية عبر صفحة الحوسبة في واجهة المستخدم المحلية للجهاز.

تعيين عنوان IP ل Kubernetes في واجهة المستخدم المحلية

تعيين IP هو من أجل:

  • عناوين IP لعقدة Kubernetes: يستخدم نطاق IP هذا للعقد الرئيسية والعاملة في Kubernetes. يتم استخدام عناوين IP هذه عندما تتواصل عقد Kubernetes مع بعضها البعض.
  • عناوين IP للخدمة الخارجية ل Kubernetes: يستخدم نطاق IP هذا للخدمات الخارجية (المعروفة أيضا باسم خدمات موازن التحميل) التي يتم كشفها خارج مجموعة Kubernetes.

مكونات شبكة Kubernetes

Calico و Metallb و Core DNS هي جميع المكونات المثبتة للشبكات على وحدة معالجة الرسومات Azure Stack Edge Pro.

  • يقوم Calico بتعيين عنوان IP من نطاق IP خاص إلى كل جراب وتكوين الشبكات لهذه الحجيرات بحيث يمكن للحجيرة على عقدة واحدة الاتصال بالجراب على عقدة أخرى.
  • يعمل Metallb على جراب داخل نظام المجموعة ويعين عنوان IP للخدمات من النوع load balancer. يتم اختيار عناوين IP لموازن التحميل من نطاق IP للخدمة المقدمة عبر واجهة المستخدم المحلية.
  • DNS الأساسي - تقوم هذه الوظيفة الإضافية بتكوين اسم خدمة تعيين سجلات DNS إلى عنوان IP لنظام المجموعة.

عند الاتصال بواجهة PowerShell لجهازك، يمكنك مشاهدة مكونات الشبكة أعلاه قيد التشغيل على مجموعة Kubernetes.

واجهات الشبكة ومفاتيح التبديل

يتوفر جهازك كتكوين مكون من عقدة واحدة يشكل مجموعة البنية الأساسية. نظام مجموعة Kubernetes منفصل عن نظام مجموعة البنية الأساسية ويتم نشره أعلى نظام مجموعة البنية الأساسية. يحتوي نظام مجموعة Kubernetes على عقدة رئيسية وعقدة عاملة. كل من عقد Kubernetes هي أجهزة ظاهرية تقوم بتشغيل التطبيقات وسير العمل السحابي.

تحتوي كل من الأجهزة الظاهرية الرئيسية والعاملة على واجهتين للشبكة، واحدة تتصل بالتبديل الظاهري الداخلي وأخرى تتصل بالتبديل الظاهري الخارجي.

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

  • مفتاح التبديل الظاهري الداخلي: يتم إنشاء مفتاح التبديل هذا كجزء من إعدادات المصنع الافتراضية على جهازك. يستخدم التبديل الظاهري الداخلي ترجمة عناوين الشبكة (NAT) لتوجيه نسبة استخدام الشبكة عبر المنفذ الذي تم تكوينه باستخدام بوابة افتراضية. على سبيل المثال، يوجه رمز التبديل هذا جميع طلبات وقت تشغيل IoT من الأجهزة الظاهرية إلى مدخل Microsoft Azure.

مسارات الشبكة

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

المعلمة ‏‏الوصف‬
الوجهة إما عنوان IP أو بادئة عنوان IP.
طول البادئة طول البادئة المطابق للعنوان أو نطاق العناوين في الوجهة.
الوثبة التالية عنوان IP الذي تتم إعادة توجيه الحزمة إليه.
الواجهة واجهة الشبكة التي تقوم بإعادة توجيه حزمة IP.
Metric يحدد مقياس التوجيه واجهة الشبكة المفضلة المستخدمة للوصول إلى الوجهة.

تغيير التوجيه على شبكة الحوسبة

Add-HcsNetRoute استخدم cmdlet لتعديل التوجيه على عامل Kubernetes والأجهزة الظاهرية الرئيسية. ضع في اعتبارك التخطيط في الرسم التخطيطي أدناه.

رسم تخطيطي لشبكة Azure Stack Edge

  • المنفذ 2 متصل بالإنترنت وهو المسار المطلوب لحركة المرور الصادرة.
  • لقد قمت بتمكين الحوسبة على المنفذ 3 وقد أنشأ ذلك مفتاحا ظاهريا خارجيا على واجهة الشبكة هذه.
  • المنفذ 3 متصل بشبكة خاصة تحتوي على كاميرات وأجهزة استشعار أخرى تقوم بتغذية البيانات الأولية إلى جهاز Azure Stack Edge للمعالجة.

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

يجب عليك أيضا مراعاة هذه الاعتبارات الأخرى:

  • إذا كانت لديك شبكة فرعية مسطحة، فلن تحتاج إلى إضافة هذه المسارات إلى الشبكة الخاصة. يمكنك (اختياريا) إضافة هذه المسارات عند وجود شبكات فرعية متعددة على شبكتك الخاصة.
  • يمكنك إضافة هذه التوجيهات فقط إلى الأجهزة الظاهرية الرئيسية والعاملة في Kubernetes وليس إلى الجهاز (مضيف Windows).
  • لا يلزم تكوين حساب Kubernetes قبل إضافة هذا المسار. يمكنك أيضا إضافة المسارات أو تحديثها بعد تكوين حساب Kubernetes.
  • يمكنك فقط إضافة تكوين مسار جديد عبر واجهة PowerShell للجهاز وليس من خلال واجهة المستخدم المحلية.
  • تأكد من أن واجهة الشبكة التي ستستخدمها تحتوي على تكوين ثابت.

إضافة تكوين مسار

لإضافة مسار مخصص جديد إلى الشبكة الخاصة، استخدم cmdlet كما يلي:

Add-HcsNetRoute -InterfaceAlias <Port number> -DestinationPrefix <Destination IP address or IP address prefix> -NextHop <IP address of next hop> -RouteMetric <Route metric number> 

فيما يلي مثال على الإخراج.

Add-HcsNetRoute -InterfaceAlias "Port3" -DestinationPrefix "192.168.20.0/24" -NextHop "192.168.20.1" -RouteMetric 100 

سيقوم الأمر أعلاه بإنشاء إدخال في جدول التوجيه الذي يحدد الشبكة الفرعية الوجهة 192.168.20.0/24، ويحدد الوثبة التالية ك 192.168.20.1، ويعين إدخال التوجيه هذا مقياس توجيه 100. خفض مقياس التوجيه، وأعلى الأولوية المعينة للمسار.

التحقق من تكوين المسار

استخدم الأمر cmdlet هذا للتحقق من جميع تكوينات المسار المخصصة التي أضفتها على جهازك. لا تتضمن هذه المسارات جميع مسارات النظام أو المسارات الافتراضية الموجودة بالفعل على الجهاز.

Get-HcsNetRoute -InterfaceAlias <Port number>

إزالة تكوين مسار

استخدم الأمر cmdlet هذا لإزالة تكوين مسار أضفته على جهازك.

Remove-HcsNetRoute -InterfaceAlias <Port number> -DestinationPrefix <Destination IP or IP prefix>

التوجيه باستخدام واجهات شبكة متعددة

إذا تم توصيل منافذ أجهزة متعددة، فلن يتم دعم تكوين فريق NIC القياسي أو تبديل الفريق المضمن (SET) الذي يتيح لك تجميع العديد من محولات الشبكة الفعلية في محول شبكة ظاهرية واحد في بيئة Hyper-V.

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

لتكوين شبكة Kubernetes على وحدة معالجة الرسومات Azure Stack Edge Pro، راجع: