Ansible Roles- الطريقة المثلى لفك تشابك Playbooks الخاص بك

تتحدث مدونة Ansible Roles هذه عن كيفية استخدام الأدوار لجعل كتيبات اللعبة المعقدة قابلة للقراءة وإعادة الاستخدام مع شرح إعداد MEAN Stack.

يسمح لنا Ansible بأتمتة إدارة تكوين الأنظمة وإضافة أي عدد من العملاء كما نرغب. هل تساءلت يومًا عن مدى تعقيد هذا الأمر؟ هل تساءلت يومًا عن المدة التي يمكن أن تستغرقها كتيبات اللعبة ومربكة؟ كيف لا يزال Ansible يبدو وكأنه نسيم؟ يستخدم مفهوم Ansible Roles وهذا ما سنتحدث عنه في هذه المدونة.

المواضيع التي تمت تغطيتها:





إذا كنت ترغب في إتقان DevOps ، ' بالطبع سيكون الخيار المفضل لديك.

مقدمة لأدوار أنسبل

الدور Ansible هو مفهوم يتعامل مع الأفكار بدلاً من الأحداث. إنه في الأساس مستوى آخر من التجريد يستخدم لتنظيم كتب اللعب. إنها توفر هيكلًا لمجموعة مستقلة وقابلة لإعادة الاستخدام من المتغيرات والمهام والقوالب والملفات والوحدات النمطية التي يمكن تحميلها تلقائيًا في كتاب التشغيل. Playbooks هي مجموعة من الأدوار. كل دور له وظائف محددة.



اسمحوا لي أن أشرح هذا بمثال. لنفترض أنك تريد أن يقوم كتيب التشغيل الخاص بك بأداء 10 مهام مختلفة على 5 أنظمة مختلفة ، فهل ستستخدم كتاب لعب واحد لهذا؟ لا ، فاستخدام كتاب قواعد لعب واحد يمكن أن يجعله مربكًا وعرضة للأخطاء الفادحة. بدلاً من ذلك ، يمكنك إنشاء 10 أدوار مختلفة ، حيث يؤدي كل دور مهمة واحدة. بعد ذلك ، كل ما عليك فعله هو ذكر اسم الدور الموجود داخل كتاب اللعبة للاتصال بهم. ستتعلم كيفية استخدام الأدوار بشكل أكبر في هذه المدونة.

كيفية تحويل سلسلة إلى تاريخ في جافا

إعادة استخدام الأدوار أنسبل

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

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



لنفترض أنك بحاجة إلى كتابة دليل لإعداد حزمة LAMP. يجب عليك إنشاء 4 أدوار ، كل منها لإنشاء Linux و Apache و MongoDB و PHP. في المستقبل ، إذا كنت تريد كتاب قواعد تشغيل آخر لإعداد حزمة LAMP بالإضافة إلى WordPress ، فهل ستنشئ مرة أخرى أدوارًا جديدة لمكدس LAMP و WordPress؟ لا! يمكنك ببساطة إعادة استخدام الأدوار القديمة (المستخدمة في LAMP stack) بالإضافة إلى إنشاء دور جديد لـ WordPress.

هيكل دليل الأدوار

باستخدام Ansible Roles ، توقع أن تكون الملفات في بنية ملف معينة. الجزء الأكثر إرباكًا في استخدام الأدوار هو فهم التسلسل الهرمي للملف. يوفر Ansible ميزة تسمى Ansible Galaxy تساعدك على لعب الأدوار. نحن نعلم بالفعل مكان Ansible الخاص بنا على Ubuntu (/ etc / ansible). هل سبق لك أن رأيت دليلاً يسمى الأدوار ضمن / etc / ansible؟ هذا الدليل موجود بالضبط لهذا السبب. تقوم بإنشاء أدوار مختلفة داخل هذا الدليل.

سيبدو الدليل كما يلي:

شجرة - أنسبل الأدوار - Edureka

يمكنك إنشاء دور باستخدام مجرة غير مرئية الأمر init داخل / etc / ansible / features.

$سودوansible المجرة الحرف الأول

سترى أدلة أدوار أخرى قد تم إنشاؤها أيضًا.

هذه الدلائل عبارة عن مهام ومعالجات وافتراضيات و vars وملفات وقوالب و meta و README.مملف.

مهام - يحتوي على القائمة الرئيسية للمهام التي سيتم تنفيذها بواسطة الدور. ذلكيحتوي علىملف main.yml لهذا الدور المعين.

معالجات - يحتوي على معالجات يمكن أن يستخدمها هذا الدور أو حتى في أي مكان خارج هذا الدور.

الافتراضات - يحتوي على المتغيرات الافتراضية التي سيتم استخدامها بواسطة هذا الدور.

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

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

ميتا - يحدد البيانات الوصفية لهذا الدور. بشكل أساسي ، يحتوي على ملفات تنشئ تبعيات الأدوار.

كل مهمة يجب أن يتكون الدليل من ملف main.yml ملف حيث يتم كتابة الكود الفعلي لهذا الدور المعين.

دعنا الآن نفهم العمل أو الأدوار من خلال عرض توضيحي لتثبيت MEAN Stack.

عرض توضيحي: تثبيت MEAN Stack باستخدام Ansible Roles

سأقوم بشرح كيفية تثبيت MEAN Stack باستخدام Ansible Roles من خلال تنفيذ دليل واحد فقط. سيكون لدينا ثلاثة أدوار: 1) تثبيت المتطلبات الأساسية ، 2) تثبيت MongoDB و 3) تثبيت NodeJS. أفترض أنك قمت بذلك بالفعل تثبيت Ansible وإجراء اتصال الخادم والعميل على Ubuntu . فلنبدأ اللعب بأدوار أنسبل.

الخطوة 1 - انتقل إلى / etc / ansible / دليل الأدوار وأنشئ الأدوار للمتطلبات الأساسية ، MongoDB و NodeJS.

$ cd / etc / ansible / features $ sudo ansible-galaxy init المتطلبات الأساسية $ sudo ansible-galaxy init mongodb $ sudo ansible-galaxy init nodejs

يجب أن ترى الآن ثلاثة أدوار في دليل 'الأدوار'.

الخطوة 2 - اكتب main.yml للمتطلبات الأساسية التي تثبت Git.

ما هي علامة span في html
المتطلبات المسبقة $ cd / مهام / main.yml --- - الاسم: تثبيت git apt: الاسم: حالة git: current update_cache: نعم

الخطوه 3 - اكتب main.yml لدور MongoDB

$ cd /mongodb/tasks/main.yml --- - الاسم: MongoDB - استيراد المفتاح العام apt_key: keyserver: hkp: //keyserver.ubuntu.com: 80 id: EA312927 - الاسم: MongoDB - إضافة مستودع apt_repository: اسم الملف: '/etc/apt/sources.list.d/mongodb-org-3.2.list' repo: 'deb http://repo.mongodb.org/apt/ubuntu trusty / mongodb-org / 3.2 multiverse' state: current update_cache : نعم - الاسم: MongoDB - تثبيت MongoDB apt: الاسم: حالة mongodb-org: الحالية update_cache: نعم - الاسم: Start mongod shell: 'mongod &'

الخطوة 4 - اكتب main.yml لnodejsوظيفة

$ cd nodejs / مهام / main.yml --- - الاسم: Node.js - احصل على البرنامج النصي get_url: url: 'http://deb.nodesource.com/setup_6.x' dest: '{{var_node}} / nodejs .sh '- الاسم: Node.js - تعيين إذن التنفيذ لملف البرنامج النصي: المسار:' {{var_node}} / nodejs.sh 'الوضع:' u + x '- الاسم: Node.js - تنفيذ برنامج نصي التثبيت:' {{var_node}} / nodejs.sh '- الاسم: Node.js - إزالة ملف البرنامج النصي للتثبيت: المسار: الحالة' {{var_node}} / nodejs.sh ': absent - name: Node.js - تثبيت Node.js apt : name = {{item}} state = present update_cache = yes with_items: - build-ضروري - nodejs - الاسم: Node.js - تثبيت bower and gulp عالميًا npm: name = {{item}} state = present global = yes with_items : - تعريشة - بلع

الخطوة الخامسة - اكتب كتاب اللعب الرئيسي الخاص بك

$ cd /etc/ansible/mean.yml --- - hosts: nodes remote_user: ansible تصبح: yes أصبح_method: sudo vars: #variable مطلوب أثناء تثبيت العقدة var_node: / tmp features: - المتطلبات الأساسية - mongodb - nodejs

الآن وقد حددنا الأدوار لتثبيت المتطلبات الأساسية ، MongoDB و NodeJs، دعونا ننشرها. قم بتنفيذ دليل التشغيل باستخدام الأمر التالي.

$سودوansible-playbook /etc/ansible/mean.yml -K

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

يقودنا هذا إلى نهاية مدونة Ansible Roles. إذا وجدت هذه المقالة مفيدة ، تحقق من ' مُقدم من Edureka. يغطي جميع الأدوات التي جعلت صناعة تكنولوجيا المعلومات أفضل.

لديك سؤال لنا؟ الرجاء نشره على وسنعاود الاتصال بك.