كيفية تثبيت Puppet 6 على Ubuntu 18؟

تعرف على كيفية تثبيت خادم Puppet & وكيل وتأسيس ، لذلك يتحدثون مع بعضهم البعض.


تعتبر Puppet واحدة من أكثر أدوات إدارة التهيئة المعتمدة في المؤسسة في عالم DevOps. كمهندس DevOps ، يجب أن تعرف كيفية إعداد دمية على النظام الخاص بك.

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

دمية لديها بنية خادم العميل ، والتي تتكون من سيد دمية (خادم) ووكلاء دمية (عميل). يحتوي Puppet Master على جميع التكوينات ، ويقوم بتجميع وتزويد التكوينات إلى وكلاء الدمى. يقوم وكلاء العرائس بإرسال الحقائق إلى سيد العرائس يطلبون الكتالوجات على فترات. يرسل Puppet Master الجزء الخلفي من الكتالوج المطلوب إلى وكيل العميل. ثم يقوم وكيل الدمية بتطبيق هذا الكتالوج على العقدة ويقدم تقاريره إلى المعلم.

الآن بعد أن أصبح لديك فهم أساسي لـ Puppet ، فلنبدأ ونبدأ في إعداد Puppet Master و Puppet Agent.

إذا كنت مبتدئًا مطلقًا ، فقد ترغب في أخذ هذا دورة فيديو عبر الإنترنت.

تفاصيل البيئة

أنا أستخدم جهازين Ubuntu 18.04. سيعمل أحدهم على أنه سيد دمية والآخر كعامل دمية. فيما يلي تفاصيل الآلات:

دمية العرائس (الخادم)

  • اسم المضيف: puppet، puppet.geekflate.com
  • عنوان IP: 192.168.0.108

وكيل العرائس (العميل)

  • اسم المضيف: دمية
  • عنوان IP: 192.168.0.107

تثبيت خادم الدمى

قبل أن أبدأ التثبيت ، أحتاج إلى تحرير ملف / etc / hosts على كل من الرئيسي والوكيل حتى يتمكنوا من حل بعضهم البعض.

على العقدة الرئيسية

[البريد الإلكتروني محمي]: ~ $ sudo gedit / etc / hosts

[sudo] كلمة مرور geekflare:

127.0.0.1 المضيف المحلي
127.0.1.1 geekflare
192.168.0.108 دمية puppet.geekflare.com

في عقدة الوكيل

[البريد الإلكتروني محمي]: ~ $ sudo gedit / etc / hosts

127.0.0.1 المضيف المحلي
127.0.1.1 geekflare
192.168.0.107 دمية
192.168.0.108 دمية puppet.geekflare.com

الآن ، أحتاج إلى الحصول على مستودع دمية على عقدي الرئيسي وتحديثه.

قم بتنزيل مستودع الدمى.

[البريد الإلكتروني محمي]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

–2019-10-15 15: 41: 34– https://apt.puppetlabs.com/puppet6-release-bionic.deb

حل apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107، 99.86.19.59، 99.86.19.2, …

الاتصال بـ apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … متصل.

تم إرسال طلب HTTP ، بانتظار الاستجابة … 200 موافق

الطول: 11736 (11 ك) [application / x-debian-package]

حفظ إلى: “puppet6-release-bionic.deb”

دمية الإصدار-بيو 100٪ [===================>] 11.46 كيلوبايت – كيلوبايت / ثانية في 0 ثانية

2019-10-15 15:41:34 (236 ميجابايت / ثانية) – تم حفظ “puppet6-release-bionic.deb” [11736/11736]

إضافة وتكوين دمية 6 الريبو.

[البريد الإلكتروني محمي]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

اختيار حزمة الدمى 6 غير المحددة مسبقًا.

(قراءة قاعدة البيانات … 187041 ملفات وأدلة مثبتة حاليًا.)

التحضير لتفريغ الدمى 6-bionic.deb …

تفريغ دمية 6-الإصدار (6.0.0-5bionic) …

إعداد دمية الإصدار 6 (6.0.0-5bionic) …

تحديث قائمة المستودعات.

[البريد الإلكتروني محمي]: ~ $ sudo apt update

ضرب: 1 https://download.docker.com/linux/ubuntu bionic InRelease

ضرب: 2 http://security.ubuntu.com/ubuntu cosmic-security InRelease

ضرب: 3 http://ppa weeunchpad.net/ansible/ansible/ubuntu الكونية InRelease

احصل على: 4 http://download.virtualbox.org/virtualbox/debian الكونية InRelease [4،429 B]

Get: 5 http://apt.puppetlabs.com bionic InRelease [85.3 كيلوبايت]

ضرب: 6 http://us.archive.ubuntu.com/ubuntu الكونية InRelease

ضرب: 7 http://us.archive.ubuntu.com/ubuntu cosmic-updates InRelease

احصل على: 8 http://download.virtualbox.org/virtualbox/debian cosmic / contrib amd64 حزم [1،466 B]

احصل على: 9 http://apt.puppetlabs.com bionic / puppet6 جميع الباقات [13.5 كيلوبايت]

ضرب: 10 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

احصل على: 11 http://apt.puppetlabs.com bionic / puppet6 i386 Packages [13.5 كيلوبايت]

احصل على: 12 حزمة http://apt.puppetlabs.com bionic / puppet6 amd64 [32.3 كيلوبايت]

تم جلبه 151 كيلوبايت في ثانيتين (61.9 كيلوبايت / ثانية)

قوائم حزمة القراءة … تم

بناء شجرة التبعية

جارٍ قراءة معلومات الحالة …

يمكن ترقية 234 حزمة. شغّل “قائمة ملائمة – قابلة للتحديث” لرؤيتها.

تثبيت خادم الدمى

فلنقم بتشغيل الأمر أدناه على العقدة الرئيسية لتثبيت خادم العميل عليها.

[البريد الإلكتروني محمي]: ~ $ sudo apt install -y puppetserver

قوائم حزمة القراءة … تم

بناء شجرة التبعية

جارٍ قراءة معلومات الحالة …

سيتم تثبيت الحزم الإضافية التالية:

ca-الشهادات-java java-common openjdk-8-jre-headless-عميل دمية

الحزم المقترحة:

خطوط jre الافتراضية-dejavu- خطوط إضافية -خطوط ipafont-gothic-ipafont-mincho

خطوط – wqy – microhei الخطوط – wqy – zenhei

سيتم تثبيت الحزم الجديدة التالية:

ca-الشهادات-java java-common openjdk-8-jre-headless-عميل دمية

الدمى

0 ترقية ، 5 مثبتة حديثًا ، 0 للإزالة و 234 غير ترقية.

تحتاج للحصول على 109 ميغابايت من المحفوظات.

بعد هذه العملية ، سيتم استخدام 287 ميغا بايت من مساحة القرص الإضافية.

احصل على: 1 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 java-common all 0.68ubuntu1 [6،988 B]

احصل على: 2 http://apt.puppetlabs.com bionic / puppet6 amd64 عميل دمية amd64 6.10.1-1bionic [19.9 ميغابايت]

احصل على: 3 http://us.archive.ubuntu.com/ubuntu cosmic-updates / universe amd64 openjdk-8-jre-headless amd64 8u212-b03-0ubuntu1.18.10.1 [27.2 ميغابايت]

احصل على: 4 http://apt.puppetlabs.com bionic / puppet6 amd64 puppetserver جميع 6.7.1-1bionic [61.5 ميغابايت]

Get: 5 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ca-الشهادات-java all 20180516ubuntu1 [12.3 kB]

تم جلبه 109 ميجا بايت في 1 دقيقة 41 ثانية (1،072 كيلو بايت / ثانية)

تفريغ الدمى (6.7.1-1bionic) …

إنشاء عميل دمية (6.10.1-1 bionic) …

تم إنشاء symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

تم إنشاء symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

تمت إزالته /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

إعداد جافا شائع (0.68ubuntu1) …

مشغلات معالجة libc-bin (2.28-0ubuntu1) …

مشغلات معالجة systemd (239-7ubuntu10.12) …

محفزات معالجة مان ديسيبل (2.8.4-2) …

مشغلات معالجة لشهادات كاليفورنيا (20180409) …

تحديث الشهادات في / etc / ssl / certs…

تمت إضافة 0 ، إزالة 0 ؛ فعله.

تشغيل الخطافات في /etc/ca-cert الشهادات/update.d…

فعله.

إعداد شهادات ca-java (20180516ubuntu1) …

head: لا يمكن فتح ‘/ etc / ssl / certs / java / cacerts’ للقراءة: لا يوجد مثل هذا الملف أو الدليل

إضافة ديبيان: SSL.com_EV_Root_Certification_Authority_ECC.pem

إضافة دبيان: ssl-cert-snakeoil.pem

مضيفا ديبيان: SwissSign_Gold_CA _-_ G2.pem

مضيفا ديبيان: SZAFIR_ROOT_CA2.pem

إضافة ديبيان: OpenTrust_Root_CA_G3.pem

إضافة ديبيان: TWCA_Root_Certification_Authority.pem

مضيفا ديبيان: QuoVadis_Root_CA_2_G3.pem

مضيفا ديبيان: DST_Root_CA_X3.pem

إضافة ديبيان: SecureSign_RootCA11.pem

إضافة دبيان: QuoVadis_Root_CA_1_G3.pem

إضافة ديبيان: T-TeleSec_GlobalRoot_Class_3.pem

إضافة ديبيان: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

مضيفا ديبيان: Actalis_Authentication_Root_CA.pem

مضيفا ديبيان: Chambers_of_Commerce_Root _-_ 2008.pem

فعله.

مشغلات معالجة لشهادات كاليفورنيا (20180409) …

تحديث الشهادات في / etc / ssl / certs…

تمت إضافة 0 ، إزالة 0 ؛ فعله.

تشغيل الخطافات في /etc/ca-cert الشهادات/update.d…

فعله.

فعله.

إعداد openjdk-8-jre-headless: amd64 (8u212-b03-0ubuntu1.18.10.1) …

إعداد الدمى (6.7.1-1bionic) …

usermod: لا توجد تغييرات

مشغلات معالجة systemd (239-7ubuntu10.12) …

تكوين خادم الدمى

 قم بتحرير ملف puppetserver ، كما هو موضح أدناه. هذا لتكوين JVM لخادم العميل.

[البريد الإلكتروني محمي]: ~ $ sudo gedit / etc / default / puppetserver

# قم بتعديل هذا إذا كنت ترغب في تغيير تخصيص الذاكرة ، قم بتمكين JMX ، إلخ

JAVA_ARGS ="-Xms512m -Xmx512m -Djruby.logger.class = com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

 تحرير ملف تكوين العرائس لتعديل إعدادات خادم العرائس.

[البريد الإلكتروني محمي]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# يمكن استخدام هذا الملف لتجاوز إعدادات الدمية الافتراضية.

# راجع الروابط التالية لمزيد من التفاصيل حول الإعدادات المتاحة:

# – https://puppet.com/docs/puppet/latest/config_important_settings.html

# – https://puppet.com/docs/puppet/latest/config_about_settings.html

# – https://puppet.com/docs/puppet/latest/config_file_main.html

# – https://puppet.com/docs/puppet/latest/configuration.html

[رئيس]

vardir = / opt / puppetlabs / server / data / puppetserver

logdir = / var / log / puppetlabs / puppetserver

rundir = / var / run / puppetlabs / puppetserver

pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid

codedir = / etc / puppetlabs / code

dns_alt_names = دمية ، puppet.geekflare.com

[الأساسية]

certname = puppet.geekflare.com

الخادم = puppet.geekflare.com

البيئة = الإنتاج

runinterval = 15 م

يحتاج Puppet Server إلى إنشاء توقيع جذري ومتوسط ​​، CA.

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca setup

نجح الجيل. ابحث عن ملفاتك في / etc / puppetlabs / puppet / ssl / ca

 ابدأ وتمكين خدمة خادم الدمى.

[البريد الإلكتروني محمي]: ~ $ sudo systemctl بدء العرائس

[البريد الإلكتروني محمي]: ~ $ sudo systemctl تمكين الدمى

مزامنة حالة puppetserver.service مع البرنامج النصي لخدمة SysV مع / lib / systemd / systemd-sysv-install.

التنفيذ: / lib / systemd / systemd-sysv-install تمكين puppetserver

تركيب وكيل العرائس

اتبع الخطوات التالية على عقدة الوكيل كما فعلت مع النظام الرئيسي. يحتاج مستودع الدمى إلى تقديمه في جميع عقد الوكيل.

[البريد الإلكتروني محمي]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

[البريد الإلكتروني محمي]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

[البريد الإلكتروني محمي]: ~ $ sudo apt update

قم بتشغيل الأمر أدناه على عقدة الوكيل لتثبيت وكيل العميل.

[البريد الإلكتروني محمي]: ~ $ sudo apt install -y دمية عميل

قوائم حزمة القراءة … تم

بناء شجرة التبعية

جارٍ قراءة معلومات الحالة …

سيتم تثبيت الحزم الجديدة التالية:

وكيل دمية

0 ترقية ، 1 مثبت حديثًا ، 0 للإزالة و 233 غير ترقية.

تحتاج إلى الحصول على 19.9 ميغابايت من الأرشيف.

بعد هذه العملية ، سيتم استخدام 115 ميغابايت من مساحة القرص الإضافية.

Get: 1 http://apt.puppetlabs.com bionic / puppet6 amd64 puppet-agent amd64 6.10.1-1bionic [19.9 MB]

تم جلبه 19.9 ميغابايت في ثانيتين (8،488 كيلوبايت / ثانية)

اختيار وكيل عميل حزمة غير محدد مسبقًا.

(قراءة قاعدة البيانات … 185786 ملفًا وأدلة مثبتة حاليًا.)

جارٍ التحضير لتفريغ … / puppet-agent_6.10.1-1bionic_amd64.deb …

تفريغ عميل الدمى (6.10.1-1 bionic) …

إنشاء عميل دمية (6.10.1-1 bionic) …

تم إنشاء symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

تم إنشاء symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

تمت إزالته /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

مشغلات معالجة libc-bin (2.28-0ubuntu1) …

تكوين وكيل العرائس

 قم بتحرير ملف تهيئة العميل على عقدة الوكيل.

[البريد الإلكتروني محمي]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[الأساسية]

certname = الدمية

الخادم = puppet.geekflare.com

البيئة = الإنتاج

runinterval = 15 م

قم بتشغيل الأمر أدناه لبدء خدمة الدمى. سيبدأ هذا الأمر تلقائيًا بعد تشغيله.

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / puppet Resource Service الدمى ضمان = تشغيل تمكين = true

الخدمة {“دمية”:

ضمان => ‘ادارة’,

تمكين => ‘صحيح’,

}} 

إنشاء وتوقيع الشهادات

عندما يبدأ الوكيل للمرة الأولى ، يرسل طلب توقيع الشهادة إلى سيد العميل. يحتاج السيد للتحقق من هذه الشهادة وتوقيعها. بعد ذلك ، سيقوم الوكيل بإحضار كتالوجات من المعلم وتطبيقها على عقد الوكيل بانتظام.

الآن بعد تشغيل وكيل العميل ، قم بتشغيل الأمر أدناه على العقدة الرئيسية للتحقق مما إذا كان قد تلقى أي طلب لتوقيع الشهادة.

على العقدة الرئيسية

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list

[sudo] كلمة مرور geekflare:

الشهادات المطلوبة:

دمية (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

التوقيع على الشهادة المرسلة من الوكيل.

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list

[sudo] كلمة مرور geekflare:

الشهادات المطلوبة:

دمية (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

قم بتشغيل الأمر أدناه للتحقق من كل قائمة الشهادات. توجد شهادة واحدة بالفعل ، وتكون افتراضية للعقدة الرئيسية ، والأخرى من عقدة الوكيل.

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list – all

الشهادات الموقعة:

دمية (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

puppet.geekflare.com (SHA256) 71: 30: 5B: C8: C5: CE: 28: A0: 60: 5C: 4F: 39: 26: D0: FC: DA: DF: 0A: 0F: 4D: ED: D4: B1: 9C: 05: 1A: 38: 2F: D6: 5F: 9C: 06 أسماء بديلة: ["DNS: puppet.geekflare.com", "DNS: دمية", "DNS: puppet.geekflare.com"]

في عقدة الوكيل

الآن قم بتشغيل هذا الأمر لاختبار ما إذا كان الاتصال قد تم تأسيسه بين العقد الرئيسية والعقدة ، وكل شيء يعمل بشكل جيد.

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / عميل دمية – اختبار

معلومات: استخدام “تكوين” البيئة تكوين

معلومات: استرداد المكونات الإضافية

معلومات: استرداد البرنامج المساعد

معلومات: استرداد الإعدادات المحلية

معلومات: كتالوج التخزين المؤقت لوكيل العميل

معلومات: تطبيق نسخة التكوين 1571171191

ملاحظة: كتالوج مطبّق في 0.02 ثانية

مثال لعينة الدمى

دعنا نجري مثالاً بسيطًا للعرائس. سوف أقوم بإنشاء بيان دمى بسيط ، والذي ينشئ دليلًا بإذن معين.

على العقدة الرئيسية:

[البريد الإلكتروني محمي]: ~ $ sudo gedit /etc/puppetlabs/code/environment/production/manifests/site.pp

 ضع المحتوى أدناه.

العقدة ‘puppetagent’ {# ينطبق فقط على العقدة المذكورة. إذا لم يذكر شيء ، ينطبق على الجميع.

file {‘/ home / test’: # file type file

ضمان => ‘directory’، # إنشاء دليل

المالك => ‘root’، # ملكية

مجموعة => ‘root’ ، # اسم المجموعة

الوضع => “0755” ، # أذونات الدليل

}}

}}

الآن قم بتشغيل الأمر أدناه لكي يصل الوكيل لإتقان وسحب التكوينات. بعد تشغيل هذا الأمر ، يجب أن ينشئ هذا الدليل على عقدة الوكيل.

في عقدة الوكيل

[البريد الإلكتروني محمي]: ~ $ sudo / opt / puppetlabs / bin / عميل دمية – اختبار

[sudo] كلمة مرور geekflare:

معلومات: استخدام “تكوين” البيئة تكوين

معلومات: استرداد المكونات الإضافية

معلومات: استرداد البرنامج المساعد

معلومات: استرداد الإعدادات المحلية

معلومات: كتالوج التخزين المؤقت للعرائس

معلومات: تطبيق نسخة التكوين “1571333010”

إشعار: / المرحلة [الرئيسية] / الرئيسية / العقدة [دمية] / ملف [/ الصفحة الرئيسية / اختبار] / ضمان: تم إنشاؤها

ملاحظة: كتالوج مطبّق في 0.05 ثانية

قم بتشغيل الأمر ls للتحقق مما إذا تم إنشاء المخرج بنجاح. 

[البريد الإلكتروني محمي]: ~ $ ls -l / home /

المجموع 32

drwxr-xr-x 13 geekflare geekflare 4096 يوليو 19 08:06 geekflare

drwx —— 2 root root 16384 Oct 23 2018 lost + found

drwxr-xr-x 23 geekflare geekflare 4096 أكتوبر 17 11:02 geekflare

drwxr-xr-x 2 root root 4096 Oct 17 13:23 test

اسم المستخدم drwxr-xr-x 2 4096 يونيو 29 09:38 اسم المستخدم

ها أنت ذا!

استنتاج

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

إذا كنت منخرطًا في الأتمتة وتهتم بمعرفة المزيد ، فيمكنك التحقق من ذلك بالطبع Udemy, الذي يتحدث عن Ansible و Puppet و Salt.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map