ubuntu server guide الإدارة عن بعد باستخدام Puppet على خواديم أوبنتو


عبد اللطيف ايمش

Puppet هو إطار عمل متعدد المنصات يُمكِّن مدراء النظام من إجراء المهام الشائعة باستخدام الكود؛ يمكن أن يقوم الكود بالعديد من المهام، من تثبيت برمجية جديدة إلى التحقق من أذونات الملفات، أو تحديث حسابات المستخدم؛ إن Puppet ليس رائعًا فقط أثناء عملية التثبيت الأساسية للنظام، بل أيضًا أثناء «دورة حياة» النظام بأكملها. يُستخدَم Puppet في معظم الحالات بنمط ضبط «خادوم/عميل».

ubuntu-server-remote-admin-puppet.thumb.

سيغطي هذا الدّرس طريقة تثبيت وضبط 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.





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن