अंसिबल
अंसिबल: शुरुआती गाइड
परिचय
अंसिबल एक शक्तिशाली, खुला स्रोत ऑटोमेशन टूल है जिसका उपयोग आईटी बुनियादी ढांचे को कॉन्फ़िगर करने, प्रबंधित करने और तैनात करने के लिए किया जाता है। यह विशेष रूप से सिस्टम एडमिनिस्ट्रेटर, डेवऑप्स इंजीनियर, और नेटवर्क इंजीनियर के बीच लोकप्रिय है, लेकिन इसका उपयोग विभिन्न प्रकार के कार्यों को स्वचालित करने के लिए किया जा सकता है। अंसिबल का मुख्य लाभ यह है कि यह एजेंटलेस है, जिसका अर्थ है कि प्रबंधित किए जा रहे मशीनों पर किसी भी विशेष सॉफ्टवेयर को स्थापित करने की आवश्यकता नहीं है। यह इसे अन्य ऑटोमेशन टूल की तुलना में स्थापित करना और उपयोग करना आसान बनाता है।
अंसिबल की लोकप्रियता का कारण इसकी सादगी, शक्ति और लचीलापन है। यह आपको सरल, पठनीय YAML फ़ाइलों का उपयोग करके जटिल कार्यों को स्वचालित करने की अनुमति देता है। यह मशीन की मौजूदा स्थिति को जाने बिना वांछित स्थिति को परिभाषित करने पर केंद्रित है, जिसे "इडेमपोटेंसी" के रूप में जाना जाता है।
अंसिबल के मुख्य घटक
अंसिबल कई मुख्य घटकों से बना है जो मिलकर काम करते हैं:
- नियंत्रण मशीन (Control Machine): यह वह मशीन है जहां से आप अंसिबल कमांड चलाते हैं। इस मशीन पर अंसिबल सॉफ्टवेयर स्थापित होना चाहिए।
- प्रबंधित नोड (Managed Nodes): ये वे मशीनें हैं जिन्हें अंसिबल द्वारा प्रबंधित किया जाता है। इन मशीनों पर SSH तक पहुंच होनी चाहिए।
- इन्वेंटरी (Inventory): यह प्रबंधित नोड्स की एक सूची है। इन्वेंटरी एक साधारण टेक्स्ट फ़ाइल हो सकती है, या यह एक गतिशील स्क्रिप्ट हो सकती है जो नोड्स की सूची को उत्पन्न करती है। इन्वेंटरी फ़ाइल अंसिबल को बताती है कि किन मशीनों को प्रबंधित करना है।
- मॉड्यूल (Modules): ये अंसिबल के बिल्डिंग ब्लॉक हैं। मॉड्यूल विशिष्ट कार्यों को करने के लिए छोटे प्रोग्राम हैं, जैसे कि फ़ाइलों को स्थापित करना, सेवाओं को शुरू करना या उपयोगकर्ताओं को बनाना। अंसिबल में मॉड्यूल लाइब्रेरी बहुत व्यापक है।
- प्लेबुक (Playbooks): ये YAML फ़ाइलें हैं जो अंसिबल को बताती हैं कि क्या करना है। एक प्लेबुक में कार्यों का एक क्रम होता है जिसे प्रबंधित नोड्स पर निष्पादित किया जाता है। प्लेबुक लेखन अंसिबल की शक्ति का एक महत्वपूर्ण हिस्सा है।
- रोल (Roles): रोल प्लेबुक को व्यवस्थित करने का एक तरीका है। एक रोल एक विशिष्ट कार्य को करने के लिए डिज़ाइन किए गए कार्यों, टेम्पलेट्स, और अन्य फ़ाइलों का एक संग्रह है। रोल का उपयोग कोड को पुन: प्रयोज्य बनाता है।
- टेम्पलेट (Templates): टेम्पलेट आपको गतिशील रूप से कॉन्फ़िगरेशन फ़ाइलें उत्पन्न करने की अनुमति देते हैं। टेम्पलेट इंजन का उपयोग करके, आप चर और कंडीशनल्स का उपयोग करके फ़ाइलों को अनुकूलित कर सकते हैं।
अंसिबल कैसे काम करता है
अंसिबल SSH का उपयोग करके प्रबंधित नोड्स से जुड़ता है। यह उन नोड्स पर मॉड्यूल को पुश करता है, और फिर उन मॉड्यूल को निष्पादित करता है। मॉड्यूल वांछित स्थिति को प्राप्त करने के लिए आवश्यक परिवर्तन करते हैं। अंसिबल तब प्रबंधित नोड्स से परिणाम प्राप्त करता है और उन्हें नियंत्रण मशीन पर प्रदर्शित करता है।
यह प्रक्रिया इडेमपोटेंट है, जिसका अर्थ है कि यदि आप एक ही प्लेबुक को कई बार चलाते हैं, तो यह केवल तभी परिवर्तन करेगा जब आवश्यक हो। उदाहरण के लिए, यदि आप किसी फ़ाइल को स्थापित करने के लिए एक प्लेबुक चलाते हैं, और फ़ाइल पहले से ही स्थापित है, तो अंसिबल कुछ भी नहीं करेगा।
अंसिबल का उपयोग करने के लाभ
अंसिबल का उपयोग करने के कई लाभ हैं:
- सादगी: अंसिबल सीखना और उपयोग करना आसान है। इसकी YAML-आधारित सिंटैक्स पठनीय और समझने में आसान है।
- एजेंटलेस: प्रबंधित नोड्स पर किसी भी विशेष सॉफ्टवेयर को स्थापित करने की आवश्यकता नहीं है।
- शक्तिशाली: अंसिबल का उपयोग जटिल कार्यों को स्वचालित करने के लिए किया जा सकता है।
- लचीला: अंसिबल को विभिन्न प्रकार के वातावरणों में उपयोग किया जा सकता है।
- इडेमपोटेंसी: अंसिबल केवल तभी परिवर्तन करता है जब आवश्यक हो, जिससे त्रुटियों का खतरा कम होता है।
- समुदाय: अंसिबल का एक बड़ा और सक्रिय समुदाय है जो समर्थन और संसाधन प्रदान करता है।
अंसिबल की स्थापना
अंसिबल को स्थापित करने के लिए, आपको नियंत्रण मशीन पर अंसिबल पैकेज स्थापित करना होगा। स्थापना प्रक्रिया आपके ऑपरेटिंग सिस्टम पर निर्भर करेगी।
- डेबियन/उबंटू:
```bash sudo apt update sudo apt install ansible ```
- सेंटोस/आरएचईएल:
```bash sudo yum install epel-release sudo yum install ansible ```
- मैकओएस:
```bash brew install ansible ```
स्थापना के बाद, आप `ansible --version` कमांड चलाकर अंसिबल की स्थापना को सत्यापित कर सकते हैं।
अंसिबल इन्वेंटरी
अंसिबल इन्वेंटरी एक टेक्स्ट फ़ाइल है जो आपके प्रबंधित नोड्स की सूची रखती है। डिफ़ॉल्ट रूप से, अंसिबल `/etc/ansible/hosts` फ़ाइल को इन्वेंटरी फ़ाइल के रूप में उपयोग करता है।
इन्वेंटरी फ़ाइल में प्रत्येक पंक्ति एक प्रबंधित नोड का प्रतिनिधित्व करती है। आप होस्टनाम या आईपी पते का उपयोग कर सकते हैं। आप समूहों का उपयोग करके नोड्स को भी व्यवस्थित कर सकते हैं।
उदाहरण इन्वेंटरी फ़ाइल:
``` [webservers] webserver1 ansible_host=192.168.1.10 webserver2 ansible_host=192.168.1.11
[databases] dbserver1 ansible_host=192.168.1.20 ```
इस उदाहरण में, `webservers` और `databases` दो समूह हैं। `webserver1` और `webserver2` वेबसर्वर समूह के सदस्य हैं, और `dbserver1` डेटाबेस समूह का सदस्य है। `ansible_host` पैरामीटर प्रबंधित नोड के आईपी पते को निर्दिष्ट करता है।
पहला प्लेबुक लिखना
एक साधारण प्लेबुक जो प्रबंधित नोड्स पर एक फ़ाइल बनाता है:
```yaml --- - hosts: all
tasks: - name: Create a test file file: path: /tmp/testfile.txt state: touch mode: '0644'
```
इस प्लेबुक में:
- `hosts: all` का मतलब है कि प्लेबुक सभी प्रबंधित नोड्स पर चलेगा।
- `tasks:` अनुभाग उन कार्यों को सूचीबद्ध करता है जिन्हें प्लेबुक निष्पादित करेगा।
- `name: Create a test file` कार्य का वर्णन है।
- `file:` मॉड्यूल का उपयोग फ़ाइल बनाने के लिए किया जाता है।
- `path:` पैरामीटर फ़ाइल का पथ निर्दिष्ट करता है।
- `state: touch` पैरामीटर फ़ाइल को बनाता है यदि यह मौजूद नहीं है।
- `mode: '0644'` पैरामीटर फ़ाइल की अनुमतियाँ सेट करता है।
इस प्लेबुक को चलाने के लिए, आप `ansible-playbook` कमांड का उपयोग कर सकते हैं:
```bash ansible-playbook test.yml ```
अंसिबल मॉड्यूल
अंसिबल में मॉड्यूल विभिन्न प्रकार के कार्यों को करने के लिए उपयोग किए जाते हैं। कुछ सामान्य मॉड्यूल में शामिल हैं:
- copy: फ़ाइलों को प्रबंधित नोड्स पर कॉपी करता है।
- file: फ़ाइलों और निर्देशिकाओं को प्रबंधित करता है।
- service: सेवाओं को शुरू, बंद और पुनः आरंभ करता है।
- user: उपयोगकर्ताओं और समूहों को प्रबंधित करता है।
- package: पैकेज स्थापित और हटाता है।
- command: कमांड चलाता है।
- shell: शेल कमांड चलाता है।
- template: टेम्पलेट से कॉन्फ़िगरेशन फ़ाइलें उत्पन्न करता है।
आप अंसिबल दस्तावेज़ में सभी उपलब्ध मॉड्यूल के बारे में अधिक जानकारी पा सकते हैं।
अंसिबल रोल
रोल प्लेबुक को व्यवस्थित करने का एक तरीका है। एक रोल एक विशिष्ट कार्य को करने के लिए डिज़ाइन किए गए कार्यों, टेम्पलेट्स, और अन्य फ़ाइलों का एक संग्रह है। रोल का उपयोग करने से आपके प्लेबुक अधिक पठनीय और पुन: प्रयोज्य हो जाते हैं।
एक रोल में आमतौर पर निम्नलिखित निर्देशिकाएँ होती हैं:
- tasks: इस निर्देशिका में रोल के कार्यों के लिए प्लेबुक फ़ाइलें होती हैं।
- templates: इस निर्देशिका में टेम्पलेट फ़ाइलें होती हैं।
- files: इस निर्देशिका में स्थिर फ़ाइलें होती हैं।
- handlers: इस निर्देशिका में हैंडलर फ़ाइलें होती हैं। हैंडलर विशेष कार्य हैं जो तब निष्पादित होते हैं जब कोई कार्य स्थिति बदलता है।
- vars: इस निर्देशिका में रोल के लिए चर होते हैं।
उन्नत अंसिबल अवधारणाएं
- चर (Variables): चर का उपयोग प्लेबुक में मानों को संग्रहीत करने के लिए किया जाता है। आप इन्वेंटरी फ़ाइल, कमांड लाइन, या प्लेबुक में चर को परिभाषित कर सकते हैं। चर उपयोग प्लेबुक को अधिक गतिशील बनाता है।
- लूप (Loops): लूप का उपयोग एक ही कार्य को कई बार निष्पादित करने के लिए किया जाता है।
- कंडीशनल (Conditionals): कंडीशनल का उपयोग यह निर्धारित करने के लिए किया जाता है कि किसी कार्य को निष्पादित करना है या नहीं।
- हैंडलर (Handlers): हैंडलर विशेष कार्य हैं जो तब निष्पादित होते हैं जब कोई कार्य स्थिति बदलता है। हैंडलर का उपयोग सिस्टम को पुनः आरंभ करने जैसे कार्यों के लिए उपयोगी है।
- फाक्ट्स (Facts): अंसिबल प्रबंधित नोड्स के बारे में जानकारी एकत्र करता है जिसे "फाक्ट्स" कहा जाता है। आप इन तथ्यों का उपयोग प्लेबुक में निर्णय लेने के लिए कर सकते हैं। फाक्ट्स का उपयोग आपको गतिशील कॉन्फ़िगरेशन करने की अनुमति देता है।
अंसिबल के लिए संसाधन
- अंसिबल दस्तावेज़: [1](https://docs.ansible.com/)
- अंसिबल ग्यालरी: [2](https://galaxy.ansible.com/)
- अंसिबल समुदाय: [3](https://community.ansible.com/)
अंसिबल एक शक्तिशाली ऑटोमेशन टूल है जो आपके आईटी बुनियादी ढांचे को प्रबंधित करने और तैनात करने के तरीके को बदल सकता है। यह सीखना आसान है, शक्तिशाली है और लचीला है। यदि आप अपने आईटी कार्यों को स्वचालित करने का तरीका ढूंढ रहे हैं, तो अंसिबल एक बढ़िया विकल्प है।
डेवऑप्स में अंसिबल का निरंतर एकीकरण और निरंतर वितरण के साथ एकीकरण, क्लाउड कंप्यूटिंग के लिए इसका उपयोग, सुरक्षा स्वचालन में भूमिका, और नेटवर्क ऑटोमेशन में इसका महत्व भी महत्वपूर्ण विषय हैं। तकनीकी विश्लेषण और वॉल्यूम विश्लेषण की तरह बाइनरी ऑप्शन में प्रयुक्त अवधारणाओं की तुलना में, अंसिबल एक अलग डोमेन है, लेकिन स्वचालन और दक्षता में सुधार के लिए इसके सिद्धांत समान हैं।
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री