البرنامج التعليمي للدمى - حل واحد لإدارة التكوين



Puppet Tutorial هي المدونة الثانية من سلسلة مدونة Puppet. يتحدث عن هندسة الدمى ومكوناتها ومثال لنشر mysql & php باستخدام Puppet.

دروس الدمية

Puppet Tutorial هي المدونة الثانية من سلسلة مدونة Puppet. أتمنى أن تكون قد قرأت مدونتي السابقة على ' ما هي الدمية 'الذي يشرح إدارة التهيئة وسبب أهميتها بمساعدة حالات الاستخدام.

سيتم تغطية الموضوعات التالية في هذا البرنامج التعليمي للدمى:





ما هي إدارة التكوين؟

في المدونة السابقة و لقد قدمت مقدمة إلى إدارة التهيئة والتحديات التي تساعدنا في التغلب عليها. في هذا البرنامج التعليمي للعرائس ، سأشرح لك الأنشطة المختلفة المترابطة لإدارة التكوين.لكن قبل ذلك ، دعونا نفهم ما هو عنصر التكوين (CI). عنصر التكوين هو أي مكون خدمة ، أو عنصر بنية تحتية ، أو عنصر آخر يحتاج إلى إدارته لضمان تقديم الخدمات بنجاح. تتضمن أمثلة CI مستندات المتطلبات الفردية والبرامج والنماذج والخطط.



تتكون إدارة التكوين من العناصر التالية:

  • تحديد التكوين
  • إدارة التغيير
  • محاسبة حالة التكوين
  • تدقيقات التكوين

يوضح الرسم البياني أدناه هذه المكونات:

مكونات إدارة التكوين - الدمية التعليمية - Edureka



تعريف التكوين: إنها عملية:

  • برامج التوسيم وعناصر تكوين الأجهزة بمعرفات فريدة
  • تحديد الوثائق التي تصف عنصر التكوين
  • تجميع عناصر التكوين ذات الصلة في خطوط الأساس
  • مراجعات عنونة لعناصر التكوين وخطوط الأساس.

إدارة التغيير: إنه نهج منظم للتعامل مع التغيير من منظور المنظمة والفرد.

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

تدقيقات التكوين: توفر عمليات تدقيق التكوين آلية لتحديد الدرجة التي تتوافق بها الحالة الحالية للنظام مع أحدث خط الأساس والوثائق. في الأساس ، إنها مراجعة رسمية للتحقق من أن المنتج الذي يتم تسليمه سيعمل كما هو معلن عنه أو مروج له أو بأي طريقة موعودة للعملاء. يستخدم المعلومات المتاحة كنتيجة لعمليات تدقيق الجودة والاختبار جنبًا إلى جنب مع معلومات محاسبة حالة التكوين ، لتوفير ضمان أن ما هو مطلوب قد تم بناؤه.

دعونا نفهم إدارة التكوين مع حالة الاستخدام. لنفترض أنه إذا كان عليك تحديث برنامج معين أو كنت ترغب في استبداله ، في هذه الحالة ، يجب اتباع المخطط الانسيابي أدناه من أجل إدارة التكوين الناجحة:

الآن هو الوقت المناسب لفهم هندسة الدمى.

دروس الدمى - هندسة معمارية دمية

يستخدم Puppet هندسة Master-Slave. الرسم البياني أدناه يصور نفس الشيء:

يتم تنفيذ الوظائف التالية في الصورة أعلاه:

  • يرسل وكيل الدمى الحقائق إلى سيد الدمى. الحقائق في الأساسزوج بيانات المفتاح / القيمة الذي يمثل بعض جوانب الحالة التابعة ، مثل عنوان IP أو وقت التشغيل أو نظام التشغيل أو ما إذا كان جهازًا افتراضيًا. سأشرح الحقائق بالتفصيل لاحقًا في المدونة.
  • يستخدم Puppet Master الحقائق لتجميع كتالوج يحدد كيفية تكوين التابع. فهرسهو مستند يصف الحالة المرغوبة لكل مورد يديره Puppet Master على التابع. سأشرح الكتالوجات والموارد بالتفصيل لاحقًا.
  • تعود تقارير Puppet Slave إلى Master تشير إلى اكتمال التكوين ، وهو ما يمكن رؤيته في لوحة معلومات Puppet.

تحقق من هذا الفيديو التعليمي للدمى المتحركة للحصول على فهم عميق لدمية الدمى.

دروس الدمى للمبتدئين | تدريب DevOps | إدوريكا

البرنامج التعليمي للعرائس - سيد الدمى والاتصال بالعبد

سيد الدمية والعبد يتواصل من خلالقناة مشفرة آمنة بمساعدة SSL. الرسم البياني أدناه يصور نفس الشيء:

أباتشي سبارك مقارنة هادوب مابريدس

كما ترى من الصورة أعلاه:

  • الدمية العبد تطلب شهادة سيد الدمى.
  • بعد الحصول على شهادة Puppet Master ، يطلب Master شهادة Slave.
  • بمجرد توقيع Master على شهادة Slave ، يطلب Slave التكوين / البيانات.
  • أخيرًا ، سيرسل Puppet Master التكوين إلى Puppet Slave.

دعونا الآن نلقي نظرة على مكونات الدمى المختلفة.

البرنامج التعليمي للعرائس - مكونات دمية

المانيفستات: كل عبد لديه تفاصيل التكوين الخاصة به في Puppet Master ، مكتوبة بلغة Puppet الأصلية. تمت كتابة هذه التفاصيل باللغة التي يمكن أن يفهمها Puppet ويطلق عليها Manifests. وهي تتألف من رمز الدمى وتستخدم أسماء ملفاتهم الامتداد .pp تمديد. هذه هي في الأساس برامج الدمى.
على سبيل المثال: يمكنك كتابة بيان في Puppet Master يقوم بإنشاء ملف وتثبيت خادم Apache على جميع Puppet Slaves المتصلة بـ Puppet Master.

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

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

عامل: يقوم Facter بجمع المعلومات الأساسية (الحقائق) حول Puppet Slave مثل تفاصيل الأجهزة وإعدادات الشبكة ونوع نظام التشغيل والإصدار وعناوين IP وعناوين MAC ومفاتيح SSH والمزيد. يتم توفير هذه الحقائق بعد ذلك في مانيفست بوبيت ماستر كمتغيرات.

ماكولكتيف: إنه إطار يسمح بتنفيذ العديد من الوظائف بالتوازي على العديد من العبيد. يؤدي وظائف مختلفة مثل:

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

الكتالوجات: يصف الكتالوج الحالة المطلوبة لكل مورد مُدار على أحد الموارد التابعة. إنه تجميع لكل الموارد التي يطبقها سيد الدمى على عبد معين ، بالإضافة إلى العلاقات بين هذه الموارد.يتم تجميع الفهارس بواسطة Puppet Master من Manifests والبيانات المقدمة من Slave (مثل الحقائق والشهادات والبيئة إذا تم توفيرها) ، بالإضافة إلى بيانات خارجية اختيارية (مثل البيانات من مصنف Slave خارجي ، والموارد المصدرة ، والوظائف). ثم يقوم السيد بتقديم الكتالوج المترجم إلى التابع عند الطلب.

الآن في هذا البرنامج التعليمي للدمى ، سيركز القسم التالي على التدريب العملي.

دروس الدمية - التدريب العملي

سأوضح لك كيفية نشر MySQL و PHP من Puppet Master إلى Puppet Slave. أنا أستخدم Slave واحدًا فقط لغرض العرض ، حيث يمكن أن يكون هناك مئات العبيد المتصلين بسيد واحد. لنشر PHP و MySQL ، سأستخدم وحدات محددة مسبقًا متوفرة على forge.puppet.com. يمكنك إنشاء الوحدات الخاصة بك أيضًا.

الخطوة 1: في Puppet Master ، قم بتثبيت وحدات MySQL و PHP.

نفذ هذا:

1) puppet module install puppetlabs-mysql –version 3.10.0

تقوم وحدة MySQL هذه بتثبيت وتهيئة وإدارة خدمة MySQL. تدير هذه الوحدة كلاً من تثبيت MySQL وتكوينه ، بالإضافة إلى توسيع Puppet للسماح بإدارة موارد MySQL ، مثل قواعد البيانات والمستخدمين والمنح.

2) تثبيت وحدة الدمى mayflower-php-version 4.0.0-beta1

تُستخدم هذه الوحدة لإدارة PHP ، خاصة php-fpm. PHP-FPM (FastCGI Process Manager) هو تطبيق بديل لـ PHP FastCGI مع بعض الميزات الإضافية المفيدة للمواقع من أي حجم ، وخاصة المواقع الأكثر ازدحامًا.

الخطوة 2: في Puppet Manifests تشمل MySQL server و PHP.

نفذ هذا: vi /etc/puppet/manifests/site.pp

الحصول على طول المصفوفة في جافا سكريبت

يمكنك استخدام أي محرر آخر مثل vim و gedit إلخ. في ملف site.pp هذا ، أضف ما يلي:

تشمل ':: mysql :: server' include ':: php'

احفظ واخرج.

الخطوه 3: يسحب Puppet Slaves تكوينه من المعلم بشكل دوري (بعد كل 30 دقيقة). سيقوم بتقييم البيان الرئيسي وتطبيق الوحدة التي تحدد إعداد MySQL و PHP. إذا كنت ترغب في تجربته على الفور ، فأنت بحاجة إلى تشغيل الأمر التالي على كل عقدة تابعة:

نفذ هذا: وكيل دمية -t

لذلك تم تثبيت MySQL و PHP بنجاح على العقدة Slave.

الخطوة الرابعة: للتحقق من إصدار MySQL و PHP المثبت:

نفذ هذا:

1) mysql -v

2) php -version

تهانينا! يتم تشغيل MySQl و PHP في Puppet Slave. لقد أريتكم هنا فقط عبدًا واحدًا ولكن تخيلوا لو كان هناك مئات العبيد. في هذا السيناريو ، يصبح عملك سهلاً للغاية ، فقط حدد التكوينات في Puppet Master و Puppet Slaves سيقوم تلقائيًا بتقييم البيان الرئيسي وتطبيق الوحدة التي تحدد إعداد MySQL و PHP.

إذا وجدت هذا دروس الدمية ذو صلة، تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تساعد الدورة التدريبية لشهادة Edureka DevOps المتعلمين على اكتساب الخبرة في عمليات وأدوات DevOps المختلفة مثل Puppet و Jenkins و Nagios و GIT لأتمتة خطوات متعددة في SDLC.