Monday, 18 April 2016

Run 2,000 Docker Containers In A Single Weave Cluster Of 30 Rackspace Cloud Servers With 2GB Of Memory Each


هذا هو بلوق الثانية من سلسلة 2-بلوق حول قابلية للمنصة DCHQ باستخدام الحياكة وطبقة الشبكة الأساسية. و بلوق الأولى شملت نشر 10000 حاويات في 10 نسج مجموعات، ولكل منها 3 خوادم السحب على راك سبيس مع 4GB من الذاكرة و 2 وحدات المعالجة المركزية.
في هذا بلوق، ونحن سوف تغطي نشر 2000 حاويات - ولكن بدلا من استخدام 10 مجموعات مع 3 خوادم السحابة لكل منهما، سنكون باستخدام مجموعة الحياكة واحدة مع 30 الخوادم السحابية . DCHQ بأتمتة ليس فقط نشر التطبيقات وإدارتها، ولكن بأتمتة أيضا في توفير البنية التحتية وصناعة السيارات في التحجيم في 13 الغيوم المختلفة ومنصات الافتراضية. قراءة المزيد عن هذا الاختبار التدرجية في هذا بلوق.

خلفية

في حين تطبيق قابلية (أي القدرة على تشغيل نفس التطبيق على أي مضيف لينكس) لا يزال السائق مما أدى لاعتماد لينكس الحاويات، ومزايا رئيسية أخرى هو القدرة على تحقيق الاستخدام الأمثل الخادم بحيث يمكنك استخدام كل شيء من حساب. وبطبيعة الحال، لبيئات المنبع، مثل PROD، قد لا تزال ترغب في تكريس أكثر من ما يكفي من وحدة المعالجة المركزية والذاكرة لعبء العمل الخاص بك - ولكن في بيئات / اختبار DEV، التي عادة ما تمثل الغالبية من استهلاك الموارد حساب في مؤسسة، وتحسين الاستفادة من الخادم يمكن يؤدي إلى تحقيق وفورات كبيرة في التكاليف.
كل هذا يبدو جيدا على الورق - ولكن DevOps المهندسين والمشغلين البنية التحتية ما زالت تكافح مع الأسئلة التالية:
  • كيف يمكنني خوادم مجموعة عبر الغيوم المختلفة في الكتل التي تعين مجموعات العمل، فرق التطوير، أو مشاريع التطبيق؟
  • كيف يمكنني مراقبة هذه المجموعات والحصول على نظرة ثاقبة في استهلاك الموارد من قبل مجموعات مختلفة أو المستخدمين؟
  • كيف أقوم بإعداد التواصل عبر ملقمات في الكتلة بحيث حاويات عبر المضيفين متعددة يمكن التواصل مع بعضهم البعض؟
  • كيف يمكنني تحديد سياستي الخاصة التنسيب على أساس القدرة حتى أستطيع أن استخدام كل بت من حساب في كتلة؟
  • كيف يمكن أن أتسلق تلقائيا الكتلة لتلبية مطالب المطورين لنشر جديدة تطبيق يستند حاوية؟
DCHQ، المتوفرة في استضافتها وعلى فرضية الإصدارات، يعالج كل هذه التحديات ويوفر سياسات توفير البنية التحتية، لصناعة السيارات في القياس، تجميع والتنسيب الأكثر تقدما لمشغلي البنية التحتية أو المهندسين DevOps.
  • ويمكن للمستخدم تسجيل أي مضيف تشغيل لينكس في أي مكان عن طريق تشغيل برنامج نصي الذي تم إنشاؤه تلقائيا إلى تثبيت عامل DCHQ، جنبا إلى جنب مع عامل الميناء وطبقة الشبكات المعرفة بالبرمجيات (اختياري). هذه المهمة يمكن أن يكون آليا برمجيا باستخدام REST API لدينا لخلق "خوادم عامل الميناء" ( https://dchq.readme.io/docs/dockerservers )
  • بدلا من ذلك، DCHQ يتكامل مع 13 مقدمي السحابية، مما يسمح للمستخدمين تدور تلقائيا البنية التحتية الافتراضية على vSphere، أوبن ستاك، CloudStack، والأمازون مطاطا الحوسبة السحابية، وجوجل Compute Engine و راك سبيس، DigitalOcean، SOFTLAYER، مايكروسوفت أزور، وغيرها الكثير.

بناء قالب تطبيق لمجموعة عمل إنجن إكس

بمجرد تسجيل الدخول إلى DCHQ (إما DCHQ.io استضافت أو إصدار على فرضية)، يمكن للمستخدم التنقل إلى   التطبيقات وآلة وثم انقر على + زر لخلق الجديد عامل الميناء يؤلف القالب.
لقد أنشأنا كتلة إنجن إكس بسيطة من أجل هذا الاختبار تطويره. ستلاحظ أن CLUSTER_SIZE المعلمة تسمح لك بتحديد عدد الحاويات لإطلاق (مع نفس تبعيات التطبيق).
و mem_min المعلمة يسمح لك specifcy الحد الأدنى من الذاكرة كنت ترغب في تخصيص إلى الحاوية.
و المضيف المعلمة يسمح لك لتحديد المضيف الذي ترغب في استخدامه لنشر الحاويات. بهذه الطريقة يمكنك التأكد من توفر عالية لكتل الملقم طلبك عبر المضيفين مختلفة (أو المناطق) والتي يمكن أن يتوافق مع قواعد تقارب لضمان أن قاعدة البيانات يعمل على مجموعة منفصلة على سبيل المثال. وفيما يلي القيم المعتمدة للمعلمة المضيف:
  • host1، host2، host3 ، وما إلى ذلك - يختار المضيف بشكل عشوائي داخل مركز البيانات (أو الكتلة) لنشر الحاويات
  • <IP عنوان 1، عنوان IP 2، الخ> - يسمح للمستخدم لتحديد عناوين IP الفعلي لاستخدامها لنشر الحاويات
  • <اسم المضيف 1، اسم المضيف 2، الخ> - يسمح للمستخدم لتحديد أسماء مضيفين الفعلية لاستخدامها لنشر الحاويات
  • البدل (على سبيل المثال "DB- *"، أو "التطبيق srv- *") - لتحديد البدل للاستخدام داخل المضيف

التقديم البنية التحتية الكامنة في أي الغيمة

مرة واحدة يتم حفظ التطبيق، يمكن للمستخدم تسجيل مزود الغيمة لأتمتة التوفير والسيارات القشور من مجموعات في 13 مختلفة سحابة نهاية نقاط بما في ذلك vSphere، أوبن ستاك، CloudStack، خدمات ويب الأمازون، راك سبيس، مايكروسوفت أزور، DigitalOcean، HP العامة سحابة، آي بي إم SOFTLAYER أجهزة Google Compute Engine، وغيرها الكثير.
أولا، يمكن للمستخدم تسجيل موفر الغيمة لراك سبيس (على سبيل المثال) من خلال الانتقال إلى   مقدمي سحابة ثم النقر على زر + لتحديد راك سبيس. يلزم توفير واجهة برمجة التطبيقات مفتاح راك سبيس - التي يمكن الاطلاع عليها من قسم إعدادات الحساب.
ثم يمكن للمستخدم إنشاء كتلة مع سياسة السيارات على نطاق تدور تلقائيا خوادم سحابة جديدة. ويمكن أن يتم ذلك عن طريق الانتقال إلى مجموعات الصفحة، ثم النقر على + زر. يمكنك تحديد سياسة التوظيف القائم على القدرات وثم نسج كطبقة الشبكات من أجل تسهيل آمن، محمي بكلمة مرور الاتصالات عبر الحاويات عبر المضيفين متعددة ضمن كتلة. في هذه الحالة، حددنا أيضا سياسة السيارات النطاق التي سوف تدور تلقائيا الخوادم السحابية في هذه المجموعة ما يصل الى الحد الأقصى المحدد (في هذه الحالة 30 الخوادم السحابية). تتوفر للتأكد من أن هذه المجموعة يمكن أن تستخدم إلا من قبل المستخدمين 10 نستخدمه في هذا الاختبار (user1@dchq.io، user2@dchq.io، ...، user10@dchq.io) استحقاقات الحبيبية. وأخيرا، يمكن تعريف الاستحقاقات على مستوى مخطط (أو قالب التطبيق) - لضمان أن التطبيقات فقط بعنوان يمكن نشرها لهذه المجموعة المشتركة. في هذه الحالة، كانت الكتلة مفتوحة أمام "جميع المخططات".
ويمكن للمستخدم الآن توفير عدد من الخوادم السحابية على الكتلة التي تم إنشاؤها حديثا سواء من خلال العمل القائم على واجهة المستخدم أو عن طريق تحديد قالب آلة يؤلف القائم YAML بسيطة يمكن أن يطلب من مكتبة الخدمة الذاتية.
سير العمل القائمة على واجهة المستخدم - يمكن للمستخدم أن يطلب خوادم راك سبيس الغيمة قبل الانتقال إلى آلات وثم النقر على + زر لتحديد راك سبيس . مرة واحدة يتم تحديد مزود الغيمة، يمكن للمستخدم تحديد المنطقة، حجم والصور اللازمة. يتم فتح منافذ افتراضيا على خوادم راك سبيس الغيمة لتلبية بعض متطلبات ميناء (على سبيل المثال 32000-59000 للعامل الميناء، 6783 لنسج، وعن 5672 RabbitMQ). ثم يتم اختيار العنقودية ويمكن تحديد عدد من خوادم الغيمة.
آلة يؤلف قالب استنادا YAML- - يمكن للمستخدم أولا إنشاء قالب آلة التأليف لراك سبيس قبل الانتقال إلى آلات وثم اختيار آلة يؤلف .
وفيما يلي ملخص معلمات المعتمدة للقالب آلة يؤلف:
  • وصف : وصف مخطط / قالب
  • instanceType : سحابة مزود قيمة محددة (على سبيل المثال general1-4)
  • المنطقة : سحابة مزود قيمة محددة (على سبيل المثال معهد التنمية الإدارية)
  • صورة : المنتدبة - المؤهل بالكامل معرف صورة / اسم (مثل معهد التنمية الإدارية / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 أو vSphere VM قالب الاسم)
  • اسم المستخدم : اختياري - فقط لاسم المستخدم vSphere VM قالب
  • كلمة السر : اختياري - فقط للvSphere VM قالب مشفرة كلمة المرور. يمكنك تشفير كلمة المرور باستخدام نقطة النهاية https://www.dchq.io/#/encrypt
  • شبكة : اختياري - سحابة مزود قيمة محددة (على سبيل المثال الافتراضي)
  • securityGroup : سحابة مزود قيمة محددة (على سبيل المثال dchq الأمن في مجموعات)
  • keyPair : سحابة مزود قيمة محددة (على سبيل المثال مفتاح خاص)
  • openPorts : اختياري - فاصلة القيم ميناء فصل
  • العد : عدد من VM، والتخلف إلى 1.
مرة واحدة يتم حفظ قالب آلة إنشاء، يمكن للمستخدم طلب هذا الجهاز من الخدمة الذاتية مكتبة . ويمكن للمستخدم النقر تخصيص ثم حدد مزود الغيمة و العنقودية لاستخدامها في التقديم هذه خوادم راك سبيس الغيمة.

نشر مجموعة عمل إنجن إكس عن طريق برمجيا DCHQ في REST API ل

مرة واحدة يتم توفيرها ملقمات الغيمة، يمكن للمستخدم نشر الكتلة إنجن إكس برمجيا باستخدام وDCHQ في REST API. لتبسيط استخدام ال API، سيحتاج المستخدم لتحديد الكتلة بإنشائها سابقا باسم الكتلة الافتراضي. ويمكن أن يتم ذلك عن طريق الانتقال إلى ملفي الشخصي ، ثم تحديد الكتلة الافتراضي الحاجة.
مرة واحدة يتم تحديد الكتلة الافتراضي، ثم يمكن للمستخدم ببساطة تنفيذ البرنامج النصي حليقة التالية التي استدعاء "نشر" API ( https://dchq.readme.io/docs/deployid ).
صورة
في هذا السيناريو حليقة بسيط، لدينا ما يلي:
  • وللحلقة، 1-20
  • مع كل تكرار اننا نشر التطبيق إنجن إكس عنقودية باستخدام الكتلة الافتراضي المخصصة لuser1@dchq.io~~V
  • USER1٪ 40dchq.io يستخدم لuser1@dchq.io حيث يتم استبدال الرمز @ قبل عرافة 40٪
  • @ لا يتم استبدال كلمة المرور بين والمضيف عن طريق عرافة
  • ويشير <معرف> إلى معرف التطبيق مجموعة إنجن إكس. هذا يمكن استرجاعها عن طريق الانتقال إلى المكتبة > تخصيص لمجموعة إنجن إكس. يجب أن يكون معرف في URL
  • يستخدم النوم 22 بين كل تكرار
  • بعد تشغيل هذا البرنامج النصي، قد تم نشر 200 حاوية إنجن إكس كتبها user1@dchq.io - 20 تكرار نشر كتلة إنجن إكس 10 حاويات لكل منهما.
نحن ثم كرر نفس العملية للمستخدمين الآخرين (user2@dchq.io، user3@dchq.io، ...، user10@dchq.io) - كل نشر لنفس المجموعة المشتركة.
يمكنك تجربة هذا البرنامج النصي حليقة نفسك. يمكنك إما تثبيت DCHQ في المؤسسة ( http://dchq.co/dchq-on-premise.html ) أو التوقيع على DCHQ.io استضافة أجزاء من الكمية المخصصة ( http://dchq.io ).

مراقبة وحدة المعالجة المركزية، وذاكرة وأنا يا استخدام / الكتلة، وخوادم وحاويات الجري

DCHQ يسمح للمستخدمين لرصد وحدة المعالجة المركزية والذاكرة والقرص وI / O للمجموعات، ويستضيف والحاويات.
  • لرصد مجموعات، يمكنك التنقل فقط ل  مجموعات
  • لمراقبة المضيفين، يمكنك التنقل لمجرد آلات
  • لمراقبة الحاويات، يمكنك التنقل فقط ل ايف تطبيقات
لقد تتبعنا أداء أصحاب الأرض والمجموعة قبل وبعد أطلقنا 2000 حاويات.
بعد الغزل حتى 2000 حاويات، لقد الصور الملتقطة من مخططات أداء الكتلة. يمكنك أن ترى أن استخدام الذاكرة تجميعها عبر خوادم السحابة 30 في الكتلة كان عند 81٪ .
صورة
يمكنك أن ترى أن حققت أعلى معدل استخدام الذاكرة عبر خوادم السحابة 30 في الكتلة كان في 84٪ .
صورة
عندما كنا نحفر أسفل إلى واحدة من 30 المضيفين في الكتلة ورأى مزيد من التفاصيل مثل # الحاويات التي تعمل على هذا المضيف معين، انسحب عدد من الصور وبطبيعة الحال، فإن وحدة المعالجة المركزية / الذاكرة استخدام / القرص. في هذه الحالة، كان استخدام الذاكرة من هذا المضيف خاص 83٪ .
صورة
صورة
وفيما يلي عرض لجميع الكتل 200 إنجن إكس تشغيل (حيث كانت كل مجموعة 10 حاويات).
صورة

استنتاج

بتدبير نشر التطبيقات المستندة إلى عامل الميناء، لا يزال يشكل تحديا للمهندسين العديد من DevOps ومشغلي البنية التحتية، وذلك فعادة ما يكافحون لإدارة برك من الخوادم عبر فرق التطوير متعددة حيث يتحكم في الوصول، والرصد، والشبكات، والتنسيب على أساس القدرات، لصناعة السيارات في تحجيم سياسات والحصص هي الجوانب الرئيسية التي تحتاج إلى أن يتم تكوين.
DCHQ، المتوفرة في استضافتها وعلى فرضية الإصدارات، يعالج كل هذه التحديات ويوفر سياسات توفير البنية التحتية، لصناعة السيارات في القياس، تجميع والتنسيب الأكثر تقدما لمشغلي البنية التحتية أو المهندسين DevOps.
بالإضافة إلى توفير البنية التحتية وتجميع قدرات متقدمة، DCHQ يبسط الحاويات من تطبيقات المؤسسات من خلال تكوين إطار تطبيق مقدما الذي يمتد عامل الميناء يؤلف مع عبر صورة الارتباطات متغير البيئة، للمد باش سكريبت المكونات الإضافية التي يمكن الاستناد إليها في وقت طلب أو بعد الحكم، وتجميع طلب توافر عالية عبر المضيفين أو مناطق متعددة مع تخفيض الدعم لصناعة السيارات.
اشترك مجانا على http://DCHQ.io أو تحميل DCHQ على فرضية
للوصول إلى خارج مربع قوالب متعددة المستويات تطبيق جافا جنبا إلى جنب مع تطبيق وظيفة إدارة دورة حياة مثل الرصد والتحديثات الحاويات، وعلى نطاق و/ التصغير والمستمر التسليم.





No comments:

Post a Comment