لا توجد معلومات منهجية تقريبًا حول NSX ALB باللغة الروسية على الشبكة ، فقط الوثائق من البائع باللغة الإنجليزية. لذلك ، في الجزء الأول ، قمت بتلخيص المصادر المتباينة وقدمت لمحة عامة عن المنتج: لقد تحدثت عن الميزات ، والهندسة المعمارية ، ومنطق العمل ، بما في ذلك المواقع المتفرقة جغرافيًا. في الجزء الثاني سأصف كيفية نشر وتكوين النظام. نأمل أن تكون كلا المقالتين مفيدة لأولئك الذين يبحثون عن موازن للبيئات السحابية ويريدون تقييم قدرات NSX ALB بسرعة.
الميزات والإمكانيات
NSX ALB هو موازن تحميل معرف برمجيًا على مستوى المؤسسة (SDLB). هذا ليس نموذجيًا لأنظمة موازنة التحميل من النوع الذي يستخدم عادةً موازنات تحميل الأجهزة. يمنح هذا النهج لبناء النظام NSX ALB سهولة الإدارة وقابلية التوسع الأفقي والرأسي.
ما هي الميزات التي يوفرها NSX ALB:
- التحكم الآلي في طاقة الموازن. عندما يزداد الحمل على جزء من العملاء ، تزداد السعة تلقائيًا ، عندما ينخفض الحمل ، يتم إسقاطه.
- موازنة التحميل عبر خوادم متفرقة جغرافيا. هناك آلية منفصلة لموازنة حمل الخادم العالمي (GSLB) مسؤولة عن ذلك.
- الموازنة على أحد المستويات: L4 (عبر TCP / UDP) و L7 (عبر HTTP / HTTPS).
- . NSX ALB ( VMware) on-premise :
- ذكاء التطبيق المدمج. يراقب النظام أداء التطبيق ويجمع البيانات: الوقت لكل مرحلة من مراحل معالجة الاتصال ، وتقييم حالة التطبيق وسجلات المرور في الوقت الفعلي. إذا كانت هناك مشكلة ، يمكن أن تحدد المراقبة بسرعة مكان البحث عنها.
يتم جمع البيانات في الوقت الفعلي على الاتصالات المفتوحة في وقت واحد ، ووقت الذهاب والإياب (RTT) ، والإنتاجية ، والأخطاء ، وتأخيرات الاستجابة ، وتأخيرات اتصال SSL ، وأنواع الاستجابة ، والمزيد. جميع المعلومات في مكان واحد:
في كتلة Log Analytics على اليمين ، يتم جمع إحصاءات حول معلمات الاتصال الرئيسية. يمكنك تحريك الماوس فوق القسم المطلوب والتعرف بسرعة على نفسك.
بالإضافة إلى ذلك ، لدى NSX ALB:
- دعم متعدد المستأجرين للتمييز في الوصول إلى الموارد.
- Health Monitor .
- Web Application Firewall (WAF).
- IPAM DNS.
- , . . IP-, . : Botnet, DoS, Mobile threats, Phishing, Proxy, Scanner, Spam source, Web attacks, Windows exploit .., – .
- تحليل رؤوس HTTP للحزم المارة. يمكنك استخدام البرامج النصية (DataScript) استنادًا إلى لغة Lua وتحديد إجراءات Avi اعتمادًا على القيم الموجودة في هذه الرؤوس: إعادة توجيه طلب أو إغلاق أو إعادة تعيين اتصال أو انتحال عناوين URI أو القيم في رأس HTTP واختيار تجمع خادم معين لمعالجة طلب والعمل مع ملفات تعريف الارتباط إلخ
- العمل كمراقب دخول لـ Kubernetes.
يمكن إدارة NSX ALB من خلال واجهة المستخدم الرسومية (GUI) و CLI و REST API.
العمارة ومخطط العمل NSX ALB
يعمل NSX ALB وفقًا للمبادئ القياسية لمعظم SDLBs. يتم دمج الخوادم التي تقدم خدمة الموازنة في مجموعات . فوق المجمعات ، يقوم مسؤول النظام بإنشاء خدمات افتراضية (VS) . تحتوي على معلمات الخدمة التي يتم موازنتها ، على سبيل المثال: نوع التطبيق وخوارزمية الموازنة وإعدادات الاتصال. توفر VS للعملاء عنوان IP افتراضي خارجي (Virtual IP، VIP) للوصول إلى الخدمة المتوازنة.
دعنا نلقي نظرة فاحصة على الشكل الذي تبدو عليه البنية:
العنصر الأساسي للنظام هو وحدة التحكم (Avi Controller)... إنه مسؤول عن تراكم الطاقة التلقائي ويتحكم مركزيًا في VS. يمكنك نشر وحدة تحكم واحدة أو مجموعة تجاوز الفشل من وحدات التحكم في البنية الأساسية الخاصة بك.
في تكوين تجاوز الفشل ، تتكون كتلة وحدة التحكم من 3 عقد. تصبح إحدى العقد القائد ، وبقية الأتباع. جميع العقد الثلاثة نشطة وتشترك في الحمل فيما بينها. السيناريوهات الرئيسية لمجموعة من وحدات التحكم:
- إذا فشلت عقدة واحدة ، فهذا لا يؤثر على عمل الكتلة ؛
- إذا فشلت العقدة البادئة ، يتم نقل هذا الدور إلى أحد العناصر المتبقية ؛
- إذا فشلت عقدتان ، فإن خدمة وحدة التحكم الموجودة على العقدة المتبقية تنتقل إلى وضع القراءة فقط لتجنب انقسام الدماغ وتنتظر توفر عقدة أخرى مرة أخرى.
بعد نشر وحدة التحكم ، يقوم المهندس بإنشاء VS وتجمع الخادم لكل VS. بالنسبة للخوادم داخل التجمع ، يمكنك اختيار خوارزمية موازنة :
- Round Robin - سينتقل الاتصال الجديد إلى الخادم التالي في التجمع.
- الاتصالات الأقل - سينتقل الاتصال الجديد إلى الخادم بأقل عدد من الاتصالات المتزامنة.
- أقل تحميل - سينتقل الاتصال الجديد إلى الخادم بأقل حمل بغض النظر عن عدد الاتصالات.
- تجزئة متسقة - يتم توزيع الاتصالات الجديدة عبر الخوادم بناءً على التجزئة المحسوبة. يتم تحديد مفتاح حساب التجزئة في حقل خاص أو في سلسلة مخصصة. لكل طلب ، يتم حساب التجزئة باستخدام هذا المفتاح. يتم إرسال الاتصال إلى الخادم المقابل للتجزئة المحسوبة.
- Fastest Response – .
- Fewest Tasks – ( Avi CLI REST API.
- Fewest Servers – , .
بعد إنشاء VS وتجمع الخوادم ، تقوم وحدة التحكم نفسها بنشر الأجهزة الافتراضية للخدمة ، Service Engine (SE) ، التي توجد عليها الخدمة المتوازنة. يتم توزيع كل خدمة (VS) عبر العديد من SEs التي تعالج طلبات العميل بالتوازي. يضمن ذلك مرونة الخدمة في حالة فشل الجهاز الظاهري.
يمكن لوحدة التحكم تقييم الحمل وإضافة SEs جديدة أو حذف البرامج غير المحملة. بسبب هذه البنية ، يمكن لـ NSX ALB القياس أفقيًا - زيادة عدد SEs ، وعموديًا - زيادة سعة كل SE.
كلما زاد عدد أرصدة SE الخدمات ، زاد استخدام واجهات الشبكة. في الرسم البياني التفصيلي أدناه ، نرى نوعين من الشبكات:
- تشكل شبكة التحكم ونقل معلومات الخدمة مستوى التحكم ،
- تشكل شبكات البيانات مستوى البيانات .
يحتوي كل SE على واجهة شبكة منفصلة على شبكة التحكم للاتصال بوحدة التحكم. يتم توصيل باقي الواجهات بالشبكة الخارجية والشبكة حيث يوجد تجمع الخادم للموازنة. هذا الفصل للبنية التحتية للشبكة يحسن الأمن.
لكل VS ، تحتاج إلى تحديد معلمات SE التي سيتم استضافة الخدمة عليها. يتم تعيين هذه المعلمات في مجموعة SE (مجموعة SE) . عند إنشاء VS ، نختار مجموعة SE: يمكنك تحديد مجموعة افتراضية (المجموعة الافتراضية) أو إنشاء مجموعة جديدة إذا احتاج VS إلى إعدادات خاصة للجهاز الظاهري.
ستحدد المجموعة المحددة كيفية وضع VS الجديد. على سبيل المثال ، إذا تم نشر SEs للمجموعة الافتراضية بالفعل في النظام وما زالت هذه SEs لديها موارد ، فسيتم تحديد موقع VS الجديد مع المجموعة الافتراضية المحددة عليها. إذا حددنا مجموعة جديدة لـ VS ، فسيتم نشر SEs جديدة بمعلمات مختلفة تحتها.
على مستوى المجموعة SE ، قم بتعيين إعدادات وضع VS التالية:
- الحد الأقصى لعدد SEs في مجموعة ،
- أقصى عدد من VS لكل SE ،
- طريقة وضع VS على SE: مضغوط ، عندما نملأ أول SE الأول بإحكام قدر الإمكان وننتقل إلى التالي ، أو نوزع بتوزيع موحد:
- معلمات الجهاز الظاهري SE: رقم vCPU والذاكرة وحجم القرص ،
يبلغ عرض النطاق الترددي لكل وحدة معالجة مركزية (vCPU) حوالي 40 كيلو اتصال / ثانية بمتوسط 4 جيجابايت / ثانية. يختلف هذا المؤشر باختلاف مستويات التوازن والبروتوكول المستخدم: فهو أكثر على L4 ، وأقل على L7 بسبب الحاجة إلى تحليل حركة المرور ، مع SSL يكون أقل بكثير ، بسبب الحاجة إلى التشفير.
- عمر SE غير مستخدم ، وبعد ذلك يجب حذفه ،
- الموارد لاستضافة SE. في بيئة VMware ، يمكنك تحديد أو استبعاد مجموعة أو مضيفين ومخزن بيانات معينين للاستخدام.
دعنا ننتقل إلى بنية وسير عمل خدمة الموازنة العالمية GSLB.
البنية وسير العمل للخوادم الموزعة جغرافيًا
في الخدمة الافتراضية العادية ، يمكننا إضافة خوادم إلى التجمع من سحابة واحدة فقط. حتى إذا أضفنا العديد من السحب على وحدة التحكم في نفس الوقت ، فلن نتمكن من دمج الخوادم من السحب المختلفة في مقابل واحد. خدمة الموازنة العالمية GSLB تحل هذه المشكلة. يتيح لك تحقيق التوازن بين الخوادم الموزعة جغرافيًا الموجودة في السحب المختلفة.
ضمن خدمة عالمية واحدة ، يمكنك استخدام السحابة السحابية الخاصة والعامة في نفس الوقت. فيما يلي الحالات التي قد تحتاج فيها إلى GSLB:
- توفر خدمة عالية إذا كانت جميع الخوادم في إحدى السحاب غير متوفرة ،
- التعافي من الكوارث إذا تعذر الوصول إلى سحابة واحدة تمامًا ،
- , , . .
لنلقِ نظرة على بنية GSLB:
مخطط العمل باختصار: يتم تنفيذ الموازنة بواسطة خدمة DNS المحلية المنتشرة داخل NSX ALB. يرسل العميل طلبًا للاتصال بالخدمة باستخدام اسم FQDN. يمنح DNS العميل عنوان IP الظاهري لـ VS المحلي في السحابة الأكثر مثالية. تختار الخدمة أفضل السحابة استنادًا إلى خوارزمية الموازنة والبيانات المتعلقة بتوفر VS المحلي على Health Monitor والموقع الجغرافي للعميل. يمكنك تعيين خوارزميات موازنة مختلفة - على مستوى الخدمة العالمية وعلى مستوى GSLB.
كما ترون من مخطط GSLB ، فإنه يعتمد على عناصر المخطط السابق: تجمعات الخوادم ، وفوقها الخدمات الافتراضية المحلية (VS) مع IP الظاهري المحلي (VIP) والأجهزة الافتراضية للخدمة (SE). تظهر عناصر جديدة عند بناء GSLB.
الخدمة العالمية (Global VS) - خدمة متوازنة بين الخوادم الموزعة جغرافيًا أو السحب الخاصة والعامة. يتضمن
موقع GSLB وحدة التحكم و SEs التي تديرها ، والموجودة في نفس السحابة. لكل موقع ، يمكنك تعيين الموقع الجغرافي في خطوط الطول والعرض. سيسمح هذا لـ GSLB بتحديد تجمع الخوادم بناءً على المسافة من العميل.
تنقسم مواقع GSLB القائمة على نظام NSX ALB إلى قادة (قادة) وأتباع (متابعون). كما في حالة وحدات التحكم ، يوفر هذا المخطط التسامح مع الخطأ لخدمة GSLB.
يتخذ موقع العميل المتوقع قرارات موازنة ويتعامل مع الاتصالات والشاشات. يمكنك فقط تغيير تكوين GSLB من وحدة تحكم الموقع الرئيسية.
يمكن أن تكون مواقع الرقيق نشطة أو سلبية.
- يتعامل موقع تابع سلبي مع اتصالات العميل الواردة فقط إذا اختار الموقع الرئيسي VS المحلي الخاص به.
- يتلقى موقع الرقيق النشط تكوينه من الموقع الرئيسي ، وفي حالة تعطله ، يمكنه تولي الدور الرائد.
يمكن أن تكون مواقع GSLB أيضًا مواقع خارجية ، مبنية على موازين من أطراف ثالثة.
والمجمع العالمي يختلف عن حوض السباحة المحلي، والذي يحتوي على الخوادم المحلية. في التجمع العالمي ، يمكنك الجمع بين الخدمات الافتراضية المتفرقة جغرافيًا من مواقع مختلفة. بمعنى آخر ، يحتوي المجمع العالمي على VSs المحلية ، والتي تم إنشاؤها على مستوى مواقع GSLB.
يتم إجراء موازنة الاتصالات بين الخوادم في التجمع العمومي:
- بواسطة خوارزمية Round Robin ،
- حسب الموقع الجغرافي للخادم ،
- ,
- Consistent Hash.
بالنسبة إلى خدمة عالمية واحدة ، يمكنك إنشاء عدة تجمعات عالمية وتضمين موقع واحد أو أكثر في كل VS محلي. في هذه الحالة ، سيتم توزيع التوصيلات الجديدة وفقًا للموقع الجغرافي أو وفقًا للأولويات المحددة. لتعيين أولويات الخوادم في مستودع التخزين ، يمكنك تعيين وزن مختلف لكل منها.
مثال على التوازن بين المجمعات العالمية . هذه هي الطريقة التي ستوزع بها VS العالمية الاتصالات في هذا المخطط:
تجمع GslbPool_3 لها أولوية 10 وسيتم تفضيلها لاتصالات العميل. من هذه الوصلات ، سيذهب 40٪ من الحمل إلى VS-B3 و 60٪ إلى VS-B4. إذا أصبح GslbPool_3 غير متاح ، ستنتقل جميع اتصالات العميل بالكامل إلى GslbPool_2 ، وسيتم توزيع الحمل بين VS-B3 و VS-B4 بالتساوي.
DNS المحليتحتوي على سجلات بأسماء FQDN للخدمات المتوازنة من خلالها.
GSLB DNS هو وضع تشغيل DNS VS المحلي ، والذي يستخدم لموازنة الاتصالات بين مواقع GSLB.
يبدأ DNS VS المحلي في العمل كـ GSLB DNS عندما نختاره كخدمة DNS لـ GSLB مرفوع. يجب نشر DNS VS على جميع المواقع المدرجة في المجمعات العالمية.
يضيف GSLB سجلات FQDN للخدمة العالمية إلى كل DNS محلي. يملأ NSX ALB هذا السجل بعناوين IP الافتراضية لـ VS المحلي من جميع المواقع المضمنة في تجمع VS العالمي. تتم إضافة هذه الشخصيات المهمة الإضافية تلقائيًا مع إضافة VS المحلية الجديدة إلى المجموعة. يتم تحديث البيانات الموجودة في السجلات كتجميع المعلومات حول تحميل الخدمة ، وتوافر الخوادم ومسافة العملاء عن المواقع. عندما يتصل عميل جديد باستخدام FQDN ، يصدر أحد DNS المحلي عنوان VIP لـ VS المحلي ، مع مراعاة هذه البيانات الفعلية المتراكمة.
كيفية نشر وتكوين نظام NSX ALB ، وكذلك رفع خدمة GSLB فيه ، سوف أصف في الجزء الثاني من هذه المقالة.