Puppet هو إطار عمل متعدد المنصات يُمكِّن مدراء النظام من إجراء المهام الشائعة باستخدام الكود؛ يمكن أن يقوم الكود بالعديد من المهام، من تثبيت برمجية جديدة إلى التحقق من أذونات الملفات، أو تحديث حسابات المستخدم؛ إن Puppet ليس رائعًا فقط أثناء عملية التثبيت الأساسية للنظام، بل أيضًا أثناء «دورة حياة» النظام بأكملها. يُستخدَم Puppet في معظم الحالات بنمط ضبط «خادوم/عميل».
سيغطي هذا الدّرس طريقة تثبيت وضبط Puppet كخادوم/عميل، سيشرح المثال البسيط الآتي طريقة تثبيت خادوم أباتشي باستخدام Puppet.
التثبيت
أدخِل الأمر الآتي في طرفية الخادوم لتثبيت Puppet:
sudo apt-get install puppetmaster
وعلى جهاز أو أجهزة العميل؛ أدخِل الأمر:
sudo apt-get install puppet
الضبط
قبل ضبط Puppet، ربما عليك إضافة سجل «DNS CNAME» من أجل puppet.example.com، حيث example.com هو النطاق الخاص بك؛ حيث يتحقق عملاء Puppet من سجل DNS للنطاق puppet.example.com كاسم خادوم Puppet، أو «Puppet Master»؛ وسنشرح خدمة أسماء النطاق (DNS) في درسٍ لاحقٍ في هذه السلسلة.
إذا لم تشأ أن تستخدم DNS، فبإمكانك إضافة قيود إلى ملف /etc/hosts في الخادوم والعميل. على سبيل المثال، أضِف ما يلي في ملف /etc/hosts على خادوم Puppet:
127.0.0.1 localhost.localdomain localhost puppet 192.168.1.17 puppetclient.example.com puppetclient
وأضِف قيدًا للخادوم على كل عميل Puppet:
192.168.1.16 puppetmaster.example.com puppetmaster puppet
ملاحظة: استبدل عناوين IP الموجودة في المثال السابق بعناوين IP لخادومك وعملائك.
لنهيّء الآن بعض الموارد من أجل حزمة apache2، أنشئ الملف /etc/puppet/modules/apache2 /manifests/init.pp الذي يحتوي الآتي:
class apache2 { package { 'apache2': ensure => installed, } service { 'apache2': ensure => true, enable => true, require => Package['apache2'], } }
أنشئ الآن الملف /etc/puppet/manifests/site.pp الذي يحتوي على:
node 'pupetclient.example.com' { include apache2 }
ملاحظة: استبدل pupetclient.example.com باسم مضيف عميل Puppet الحقيقي.
الخطوة النهائية لخادوم Puppet البسيط هي إعادة تشغيل العفريت:
sudo service puppetmaster restart
لقد أتممنا ضبط خادوم Puppet، حان الآن الوقت لضبط العميل.
أولًا، اضبط عفريت Puppetagent لكي يعمل، أي عدِّل ملف /etc/default/puppet مغيّرًا START إلى yes:
START=yes
ثم ابدأ تشغيل الخدمة:
sudo service puppet start
واعرض بصمة (fingerprint) شهادة العميل:
sudo puppet agent --fingerprint
وبالعودة إلى خادوم Puppet، اعرض طلبات توقيع الشهادات:
sudo puppet cert list
وفي خادوم Puppet، تأكد من بصمة العميل ووقِّع على شهادة العميل بكتابة:
sudo puppet sign pupetclient.example.com
وفي عميل Puppet، شغِّل برنامج puppet يدويًا في الأمامية (foreground)؛ هذه الخطوة ليست مطلوبة لكنها أفضل طريقة لاختبار وتنقيح عمل خدمة puppet.
sudo puppet agent --test
راجع /var/log/syslog لأيّة أخطاء بالضبط؛ إذا جرى كلُ شيءٍ على ما يرام، فستُثبَّت حزمة apache2 وجميع اعتمادياتها على عميل Puppet.
ملاحظة: هذا المثال بسيطٌ جدًا، ولا يُظهِر العديد من ميزات ومحاسن Puppet؛ راجع القسم المصادر التالية للمزيد من المعلومات .
مصادر
- توثيق موقع Puppet الرسمي.
- راجع أيضًا كتاب «Pro Puppet».
- مصدر آخر لمعلوماتٍ إضافية هو صفحة ويكي أوبنتو «Puppet»
ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Puppet.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.