উত্তরীয়ের সাথে একাধিক প্লেবুক কীভাবে চালানো যায়?


16

আমি একটি নতুন সার্ভারের দৃষ্টান্তটি স্পিন করতে বেশ কয়েকটি উত্তরযোগ্য প্লেবুকগুলিতে কাজ করছি। একটি সার্ভার সাফল্যের সাথে স্পিন করার জন্য আমার একটি নির্দিষ্ট ক্রমে চালানো দরকার প্রায় 15 টি বিভিন্ন প্লেবুক।

আমার প্রাথমিক চিন্তাটি ছিল একটি শেল স্ক্রিপ্ট লেখার ansible-playbook playbook_name.ymlজন্য যা চালানোর জন্য আমার প্রয়োজন প্রতিটি প্লেবুকের জন্য এটিকে একটি এন্ট্রি কার্যকর করে এবং সদৃশ করে।

একটি মাস্টার প্লেবুক ব্যবহার করে এটি করার জন্য কি আরও স্মার্ট / আরও ভাল উপায় আছে এবং যদি তাই হয় তবে এটি দেখতে কেমন হবে (উদাহরণগুলি প্রশংসিত হয়)।

আমি একটি মনোলিথিক প্লেবুক লিখতে পারি যা এটি সবই করে তবে কিছু নাটক রয়েছে যা প্রথমে মূল হিসাবে পরে সুডো ব্যবহারকারী হিসাবে পরে চলে।


2
ব্যবহার আপনার প্রধান প্লেবুক অন্তর্ভুক্ত docs.ansible.com/ansible/playbooks_roles.html
c4f4t0r

1
রুট হিসাবে চালানোর ক্ষেত্রে সুডো ব্যবহারকারী হিসাবে পরিচালনা করতে আপনি ব্লক বৈশিষ্ট্যটি ব্যবহার করতে পারেন - become:প্রতিটি ব্লকের শেষে অংশটি রেখে দিন। যদিও আপনাকে সংযোগ ব্যবহারকারীকে মূল থেকে সুডো ব্যবহারকারীর কাছে স্যুইচ করতে নতুন একটি প্লে তৈরি করতে হবে ।
রিচভেল

উত্তর:


15

অনেকগুলি সাব-প্লেবুক তৈরি করুন এবং বিবৃতি অন্তর্ভুক্তের মাধ্যমে এগুলিকে একত্র করুন।

- include: playbook-one.yml
- include: playbook-two.yml

যদি আপনার প্লেবুকগুলি অবশ্যই যথাযথভাবে চলতে থাকে এবং সেগুলি সমস্ত বাধ্যতামূলক হয় তবে একটি প্রধান প্লেবুক তৈরি করুন এবং কার্যগুলি সহ ফাইলগুলি অন্তর্ভুক্ত করুন। একটি প্লেবুক সর্বদা একটি বন্ধ প্রক্রিয়া হওয়া উচিত।


2
আপনি কি আপনার উত্তরের শেষ অংশটি বিশদভাবে বলতে পারেন? "একটি প্লেবুক সর্বদা একটি বন্ধ প্রক্রিয়া হওয়া উচিত" এর অর্থ কী? ?
মাইক ভেলা 13

1
নিয়মিত এক্সপ্রেশন ব্যবহার করে সমস্ত প্লেবুক নির্দিষ্ট করার কোনও উপায় আছে কি? উদাহরণস্বরূপ:- include : books/*.yml
ব্লুজকিন

8
দেখে মনে includeহচ্ছে অবচিত হ'ল। docs.ansible.com/ansible/latest/playbooks_reuse.html আমার মনে import_playbook: fooহয় সঠিক উপায়, তবে আমি সুপার অভিজ্ঞ নই।
অ্যান্ড্রু

11

আনসিলবের নতুন সংস্করণগুলির জন্য, আপনি অনেকগুলি সাব-প্লেবুক তৈরি করতে এবং সেগুলি আমদানি_প্লেবুকের বিবৃতিগুলির মাধ্যমে সংগ্রহ করতে পারেন:

---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.