पाठ 23 / 26
Environments और Dynamic Inventory
Staging और production अलग सँभालें और cloud APIs से hosts खींचें।
Hosts बदलते हैं; inventory को पीछे चलना चाहिए
Cloud में servers आते-जाते रहते हैं, इसलिए हाथ से बदली सूचियाँ पुरानी हो जाती हैं। Inventory plugins (AWS, Azure, GCP, VMware और अन्य के लिए) provider से पूछते हैं और hosts को tags, regions या instance प्रकारों से समूहित करते हैं। छोटी YAML config फ़ाइल plugin चुनती है। हर environment के लिए एक inventory रखें और group variables के साथ जोड़ें, ताकि playbook वही रहे और सिर्फ़ target व डेटा अलग हों। नई inventory की ओर इशारा करते समय पहले छोटे उपसमूह पर --limit या check चलाएँ।
AWS EC2 inventory plugin फ़ाइल
उदाहरण; amazon.aws collection और credentials चाहिए। फ़ाइल नाम aws_ec2.yml पर ख़त्म होना चाहिए।
plugin: amazon.aws.aws_ec2
regions: [ap-south-1]
filters:
tag:Environment: production
keyed_groups:
- key: tags.Role
prefix: roleत्वरित जाँच: Cloud में dynamic inventory क्यों उपयोग करें?
- Servers बदलते हैं, इसलिए host सूची provider से बननी चाहिए
- यह SSH की ज़रूरत हटाता है
- Static files अवैध हैं
- यह playbooks अपने आप छोटी करता है
Answer
Servers बदलते हैं, इसलिए host सूची provider से बननी चाहिए — Instances बनने और हटने पर बनी inventories सटीक रहती हैं।