संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
ऐंसिबलस्वचालनउबंटूकॉन्फ़िगरेशन प्रबंधनलिनक्सस्थापनाऑपरेटिंग सिस्टमउपकरणप्रणालीसेटअप
अनुवाद अपडेट किया गया 4 दिन पहले
आईटी इंफ्रास्ट्रक्चर प्रबंधन में कार्यों का स्वचालन दक्षता और विश्वसनीयता के लिए महत्वपूर्ण है। Ansible एक शक्तिशाली ओपन-सोर्स टूल है जिसका उपयोग स्वचालन, कॉन्फ़िगरेशन प्रबंधन और एप्लिकेशन डिप्लॉयमेंट के लिए किया जाता है। यह आपको एक बड़ी संख्या में सर्वरों को आसानी से प्रबंधित करने की अनुमति देता है जबकि आपके पर्यावरण को पुनरुत्पादनीय और सुसंगत बनाता है। इस गाइड में, हम आपको Ubuntu पर Ansible सेट अप और उपयोग करने की प्रक्रिया से परिचित कराएंगे। यह व्यापक ट्यूटोरियल इंस्टॉलेशन, इन्वेंट्री फाइलों की सेटिंग, प्लेबुक्स बनाना और चलाना, और Ansible के बुनियादी अवधारणाओं को समझना शामिल करेगा।
Ansible अपनी सादगी और उपयोग में आसानी के लिए जाना जाता है। इसे लक्ष्य नोड्स पर किसी एजेंट इंस्टॉलेशन की आवश्यकता नहीं होती है, जिसका मतलब है कोई सॉफ्टवेयर आपके प्रबंधित सर्वरों पर चलाने की आवश्यकता नहीं होती। Ansible SSH के माध्यम से सर्वरों से संचार करता है और Unix-प्रकार के सिस्टम और Windows प्लेटफ़ॉर्म दोनों का प्रबंधन कर सकता है। Ansible का उपयोग करने का मुख्य लाभ यह है कि यह सरल, शक्तिशाली, और लचीलापन विन्यास प्रबंधन और ऑर्केस्ट्रेशन क्षमताएं प्रदान करता है।
Ubuntu पर Ansible सेट करना एक साधारण प्रक्रिया है। इंस्टॉलेशन से पहले, सुनिश्चित करें कि आपका सिस्टम नवीनतम है। इसके लिए अपने टर्मिनल में निम्नलिखित कमांड चलाएं:
sudo apt update sudo apt upgrade
फिर, Ansible इंस्टॉल करने के लिए निम्नलिखित कमांड को निष्पादित करें:
sudo apt install ansible
इंस्टॉलेशन के बाद, इसे Ansible वर्शन की जाँच करके सत्यापित करें:
ansible --version
आपको वर्तमान में इंस्टॉल किए गए संस्करण की प्रिंट आउट दिखाई देगा, जो सफल इंस्टॉलेशन की पुष्टि करेगा।
Ansible को एक इन्वेंटरी फाइल की आवश्यकता होती है जिसमें उन सर्वरों की सूची हो जिन्हें आप प्रबंधित करना चाहते हैं। डिफ़ॉल्ट रूप से, यह फ़ाइल /etc/ansible/hosts
पर स्थित होती है। आप होस्ट को व्यक्तिगत आईपी पतों या आसान नामों के अंतर्गत विशिष्ट नामों के साथ समूहों में परिभाषित कर सकते हैं जिन्हें बाद में आपके प्लेबुक में संदर्भित किया जा सकता है।
यहाँ एक साधारण इन्वेंटरी फाइल सेटअप का उदाहरण है:
[webservers] 192.168.1.10 192.168.1.11 [dbservers] dbserver.example.com
इस उदाहरण में, हमने दो सर्वर समूह webservers और dbservers को परिभाषित किया है। प्रत्येक समूह में संबंधित मशीनों के आईपी या डोमेन नाम शामिल हैं। समूहों का उपयोग एकसाथ कई सर्वरों पर कार्य निष्पादित करने के लिए किया जा सकता है।
जटिल प्लेबुक्स बनाने से पहले, आप तात्कालिक कार्यों के लिए अनुकूल Ansible का उपयोग कर सकते हैं। इसकी उपयोगिता विशेष रूप से तीव्र कार्यों के लिए अधिक है। तात्कालिक कमांड चलाने के लिए सिंटैक्स है:
ansible <group> -m <module> -a "<command>"
उदाहरण के लिए, सभी वेब सर्वरों पर डिस्क स्थान की जाँच करने की आवश्यकता लें:
ansible webservers -m shell -a "df -h"
यह "वेबसरवर" समूह पर "df -h" कमांड निष्पादित करने के लिए शेल मॉड्यूल को आह्वान करता है। सुनिश्चित करें कि Ansible कमांड निष्पादित करने वाला उपयोगकर्ता आपके इन्वेंटरी फ़ाइल में सूचीबद्ध होस्ट तक SSH पहुँच प्राप्त कर सके।
जबकि तात्कालिक कमांड्स उपयोगी हैं, प्लेबुक्स वो स्थान हैं जहां Ansible चमकता है। एक प्लेबुक एक YAML फाइल होती है जिसमें आपके निर्दिष्ट होस्ट पर चलाने के लिए क्रमबद्ध कार्यों की एक श्रृंखला होती है।
एक साधारण Ansible प्लेबुक का उदाहरण इस तरह दिखता है:
- hosts: webservers become: yes tasks: - name: Install Apache apt: name: apache2 state: present
यह प्लेबुक Ansible को निर्देश देती है कि वेबसरवर समूह में सभी होस्ट से जुड़े हो, डिफ़ॉल्ट sudo विधि का उपयोग करके विशेषाधिकारों को बढ़ाए (make: yes), और प्रत्येक पर Apache वेब सर्वर पैकेज को इंस्टॉल करे।
Ansible गतिशील कॉन्फ़िगरेशन की अनुमति देता है वेरिएबल्स का उपयोग कर। वेरिएबल्स विभिन्न क्षेत्रों में परिभाषित की जा सकते हैं: Playbook स्तर, होस्ट स्तर, या समूह स्तर। आप वेरिएबल्स को सीधे प्लेबुक में घोषित कर सकते हैं:
- hosts: webservers vars: http_port: 80 tasks: - name: Ensure Apache is installed apt: name: apache2 state: present - name: Ensure Apache is started service: name: apache2 state: started
Ansible सिस्टम के बारे में डिफ़ॉल्ट रूप से तथ्य एकत्र करता है। आप इन संग्रहित मानों का उपयोग प्लेबुक में निर्णय लेने के लिए कर सकते हैं। किसी विशिष्ट होस्ट से एकत्रित तथ्यों को देखने के लिए, चलाएं:
ansible <hostname> -m setup
Ansible में, कुछ कार्य केवल तभी उपयोगी होते हैं जब वे किसी कार्यवाही को ट्रिगर करते हैं, जैसे किसी पैकेज के अपडेट होने पर सेवा को पुनरारंभ करना। हैंडलर्स और सूचनाएँ ऐसे मामलों में काम आते हैं।
- hosts: webservers tasks: - name: Install apache2 apt: name: apache2 state: latest notify: - restart apache handlers: - name: restart apache service: name: apache2 state: restarted
उपर्युक्त प्लेबुक Apache सेवा को केवल तभी पुनरारंभ करेगा जब "apache2 इंस्टॉल करें" कार्य कुछ बदलता हो, जैसे Apache को इंस्टॉल या अपग्रेड करना। हैंडलर्स हमेशा प्लेबुक रन के अंत में चलते हैं, मान लिया कि उन्हें सूचित किया गया है।
Ansible की लचीलापन का मतलब यह है कि यह तार्किक निर्णय ले सकता है। उपयोग करते हुए conditionals, आप अपने कार्यों को केवल कुछ परिस्थितियों के अंतर्गत चलाने के लिए तैयार कर सकते हैं। conditionals Jinja2 टेम्पलेटिंग का उपयोग करके अभिव्यक्तियों का मूल्यांकन करने के लिए की जाती हैं:
- hosts: webservers tasks: - name: Install Apache 2 apt: name: apache2 state: latest when: ansible_os_family == "Debian"
इस उदाहरण में, Apache को इंस्टॉल करने वाला कार्य केवल तभी निष्पादित होगा जब नोड का ऑपरेटिंग सिस्टम परिवार Debian हो। लूप आपको भिन्न वस्तुओं के साथ कार्य को कई बार चलाने की अनुमति देता है:
- hosts: webservers tasks: - name: Install needed packages apt: name: "{{ item }}" state: present loop: - "apache2" - "vim" - "git"
यह कार्य सूची के साथ इकाई को परिक्रमा करेगा और प्रत्येक सूचीबद्ध पैकेज (Apache, Vim, और Git) को इंस्टॉल करेगा।
इसके मॉड्यूल्स और कार्यक्षमता की समृद्ध पारिस्थितिकी के साथ, Ansible आईटी इंफ्रास्ट्रक्चर को स्वचालन और प्रबंध करने के लिए एक शक्तिशाली फ्रेमवर्क प्रदान करता है। इस गाइड का पालन करते हुए, आपको समझना चाहिए कि Ubuntu पर Ansible कैसे सेट करें और बुनियादी प्लेबुक्स और तात्कालिक कमांड्स को निष्पादित करें। उपकरण और सिद्धांत जो चर्चा की गई हैं केवल आधारशिला हैं; Ansible की क्षमताएं इससे कहीं आगे तक विस्तृत हैं। जैसे-जैसे आप Ansible के साथ अनुभव प्राप्त करेंगे, आपको यह पता चलेगा कि इसकी क्षमताएं जटिल इंफ्रास्ट्रक्चर चुनौतियों को संभालने के लिए पर्याप्त मजबूत हैं, विश्वसनीय स्वचालन के माध्यम से दक्षता में वृद्धि करती हैं।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं