task automation using ansible playbooks
संवेदनशील डेटा हासिल करने के लिए एंज़िबल प्लेबुक और एंज़िबल वाल्ट का उपयोग करके कार्य स्वचालन सीखें:
हमारे पिछले Ansible ट्यूटोरियल में # 1 , हमने Ansible के विभिन्न घटकों के बारे में सीखा और विभिन्न मॉड्यूल के साथ इस उपकरण को कैसे स्थापित और कॉन्फ़िगर किया जाए। हमने यह भी देखा कि किसी फ़ंक्शन या कार्य को करने के लिए मॉड्यूल का उपयोग कैसे किया जाता है।
इस भाग में, हम संवेदनशील डेटा को सुरक्षित करने के लिए Ansible playbooks और Ansible वाल्ट का उपयोग करके कार्य स्वचालन पर ध्यान देंगे।
सुझाव पढ़ें => DevOps पर लर्निंग गाइड
मुझे सुरक्षा कुंजी कहां मिलती है
आप क्या सीखेंगे:
अन्सिबल प्लेबुक
हमने देखा है कि मॉड्यूल का उपयोग करके एकल कार्यों या एक समय के कार्यों को कैसे चलाया जाता है, लेकिन अगर आपको कई कार्यों को निष्पादित करने की आवश्यकता है तो क्या होगा? प्लेबुक उन्हें स्क्रिप्टेड तरीके से चलाने में मदद करती है।
Playbooks चर, कॉन्फ़िगरेशन, परिनियोजन चरणों को परिभाषित करता है, भूमिकाएँ सौंपता है, कई कार्य करता है। के लिये जैसे COPY / DELETE फ़ाइलें और फ़ोल्डर, पैकेज स्थापित करें, सेवाएं शुरू करें। इसलिए मुख्य रूप से प्लेबुक को कई मशीनों या सर्वरों के चरणों की परिक्रमा करने के लिए परिभाषित किया जाता है और उन सभी को एक निश्चित वांछित स्थिति में ले जाता है।
प्लेबुक में लिखा है YAML प्रारूप .yml फ़ाइल एक्सटेंशन के साथ एक प्रारूप और संरेखण के साथ बहुत सावधान रहने की जरूरत है जो इसे बहुत संवेदनशील बनाता है।
इसमें निम्नलिखित भाग हैं:
- हर प्लेबुक की शुरुआत 3 हाइफ़न से होती है book - 3
- होस्ट अनुभाग - लक्ष्य मशीनों को परिभाषित करता है जिस पर प्लेबुक चलनी चाहिए। यह Ansible इन्वेंट्री फ़ाइल पर आधारित है।
- चर खंड - यह वैकल्पिक है और प्लेबुक में आवश्यक सभी चर घोषित कर सकता है। हम कुछ उदाहरणों पर भी गौर करेंगे।
- कार्य अनुभाग - यह खंड उन सभी कार्यों को सूचीबद्ध करता है जिन्हें लक्ष्य मशीन पर निष्पादित किया जाना चाहिए। यह मॉड्यूल के उपयोग को निर्दिष्ट करता है। प्रत्येक कार्य में एक नाम होता है जो कि कार्यपुस्तिका चलाने के दौरान कार्य क्या करेगा और सूचीबद्ध किया जाएगा, इसका एक छोटा विवरण है।
उदाहरण के लिए,
अगर हमें Tomcat को स्थापित करने और कॉन्फ़िगर करने की आवश्यकता है, तो इसमें निम्नलिखित कार्य शामिल होंगे:
- टॉम्कट को डाउनलोड और इंस्टॉल करें
- टॉमकैट कॉन्फ़िगर करें
- टॉमकैट शुरू करें
इसी तरह, एक औरउदाहरणDevOps के निरंतर वितरण में उपयोग किए जाने वाले टॉमकैट के उपयोग के लिए, कार्य निम्नानुसार हो सकते हैं:
- आवेदन बंद करो
- एप्लिकेशन को अनइंस्टॉल करें
- WAR फ़ाइल का एक नया संस्करण स्थापित करें।
- आवेदन शुरू करें
Playbook का नमूना प्रारूप
--- Playbook start - hosts: webservers Specify the group or servers as per inventory to execute tasks become: true tasks: - name: Copy Tomcat ZIP file to install location Short description of the task copy: src=/home/ansible/niranjan/apache-tomcat-8.5.31.tar.gz dest=/opt/niranjan/tomcat
उपरोक्त स्क्रिप्ट में ऊपर से शुरू होने वाले संरेखण को देखें और इसे बनाए रखना होगा अन्यथा आपको सिंटैक्स त्रुटियां मिलेंगी।
किसी भी प्लेबुक को चलाने के लिए निम्नलिखित कमांड का उपयोग करें
$ ansible-playbook
वाक्यविन्यास त्रुटियों के लिए प्लेबुक की जांच करना
$ ansible-playbook --syntax-check
मेजबानों की सूची देखने के लिए
$ ansible-playbook --list-hosts
उदाहरण के साथ Playbooks बनाना
इस खंड में, हम प्लेबुक बनाने के कई उदाहरण देखेंगे, जिन्हें आपको नियमित रूप से चलाने की आवश्यकता हो सकती है। इन प्लेबुक को कंट्रोल मशीन से बनाना और चलाना होगा।
एक .yml फ़ाइल के नीचे सभी playbooks सहेजें और नीचे दिखाए अनुसार चलाएं।
$ ansible-playbook filename.yml
उदाहरण 1: इन्वेंट्री फ़ाइल और वेबसर्वर के समूह में उल्लिखित लक्ष्य मशीनों या सर्वर पर फ़ाइल बनाएँ, .yml एक्सटेंशन के साथ नीचे दिए गए कोड को सहेजें और प्लेबुक चलाएं।
- hosts: webservers become: true tasks: - name: Create a file file: path=/home/ansible/niranjan.txt state=touch
उपरोक्त उदाहरण में, हमने उपयोग किया है फ़ाइल फ़ाइल बनाने के लिए मॉड्यूल।
उदाहरण 2: मोड के साथ 775 और मालिक / समूह के रूप में एक निर्देशिका बनाएं।
--- - hosts: webservers become: true tasks: - name: Create directory file: path=/home/ansible/niranjan state=directory mode=775 owner=ansible group=ansible
उदाहरण 3: कई निर्देशिका बनाएं। एक एकल कार्य के साथ कई निर्देशिका बनाने के लिए आप लूप का उपयोग कर सकते हैं with_items बयान। इसलिए जब आप नीचे प्लेबुक चलाते हैं तो इसकी व्याख्या 3 अलग-अलग कार्यों के रूप में की जाती है।
--- - hosts: webservers become: true tasks: - name: Create multiple directories file: path={{item}} state=directory with_items: - '/home/ansible/vn1' - '/home/ansible/vn2' - '/home/ansible/vn3'
उदाहरण 4: एक उपयोगकर्ता बनाएँ। आइए देखें उपयोगकर्ता प्लेबुक में उपयोगकर्ताओं को बनाने और हटाने के लिए मॉड्यूल।
--- - hosts: webservers become: true tasks: - name: Create User user: name=niranjan password=niranjan groups=ansible shell=/bin/bash
उदाहरण 5: उपयोगकर्ता निकालें। उपयोगकर्ता को हटाना बहुत आसान है और इसकी आवश्यकता होगी राज्य के लिए सेट किया जाना है अनुपस्थित । यह के बराबर है उपयोगकर्ता लिनक्स में कमांड।
--- - hosts: webservers become: true tasks: - name: Remove User user: name=niranjan state=absent remove=yes force=yes
उपरोक्त प्लेबुक में, हटाना = हाँ होम डायरेक्टरी को हटा देगा और बल = हाँ निर्देशिका में फ़ाइलों को हटा देगा।
उदाहरण 6: कॉपी मॉड्यूल का उपयोग करके किसी फ़ाइल में सामग्री की प्रतिलिपि बनाएँ।
यदि आपको लक्ष्य मशीनों या सर्वर का उपयोग करने के लिए एक फाइल कॉपी करने की आवश्यकता है src तथा गंतव्य कॉपी मॉड्यूल में।
--- - hosts: webservers become: true tasks: - name: Copy content to file copy: content='Hello World Niranjan
' dest=/home/ansible/niranjan.txt
उदाहरण के लिए,
copy: src=/home/ansible/niranjan.txt dest=/tmp/niranjan.txt
उदाहरण 7: एक स्ट्रिंग के सभी उदाहरण बदलें।
का उपयोग कर बदलने के मॉड्यूल हम एक शब्द को दूसरे शब्द से बदल सकते हैं। बदले हुए मॉड्यूल को 3 मापदंडों की आवश्यकता होगी यानी module पथ ’, x regexp’ (विशेष शब्द खोजने के लिए) और) प्रतिस्थापित ’(प्रतिस्थापन के लिए दूसरा शब्द प्रदान करना)।
- hosts: webservers tasks: - name: Replace example replace: path: /home/ansible/niranjan.txt regexp: 'hello' replace: 'world'
उदाहरण 8: संग्रह या ज़िप फ़ाइल और फ़ोल्डर
Ansible का उपयोग करना पुरालेख मॉड्यूल आप फ़ाइलों या फ़ोल्डरों को 'zip', '.gz', या 'bz2' प्रारूप में संपीड़ित कर सकते हैं।
ध्यान दें : संपीड़ित होने वाली फ़ाइलें या फ़ोल्डर लक्ष्य सर्वर पर उपलब्ध होने चाहिए और उन पर टार, bzip2, gzip, zip फ़ाइल के लिए संकुल होना चाहिए। इन पैकेजों को स्थापित करने के लिए आपके पास एक अलग प्लेबुक कार्य हो सकता है।
--- - hosts: all become: true tasks: - name: Ansible zip file example archive: path: /home/ansible/niranjan.txt dest: /home/ansible/niranjan.zip format: zip
उपरोक्त प्लेबुक फ़ाइल niranjan.txt को niranjan.zip फ़ाइल में ज़िप कर देगी
--- - hosts: all tasks: - name: Ansible zip multiple files example archive: path: - /home/ansible/niranjan1.txt - /home/ansible/niranjan2.txt dest: /home/ansible/niranjan.zip format: zip
उपरोक्त प्लेबुक कई फाइलों को niranjan.zip फाइल में जिप कर देगी।
- hosts: all tasks: - name: Ansible zip directory example archive: path: - /home/ansible dest: /home/ansible/niranjan.zip format: zip
उपर्युक्त प्लेबुक सभी फाइलों को / home / ansible डायरेक्टरी में जिप करेगा।
उदाहरण 9: तारीख और टाइमस्टैम्प के साथ काम करना
सिस्टम दिनांक और टाइमस्टैम्प का उपयोग कुछ विशेष स्थिति या लॉगिंग उद्देश्यों में मदद करता है। उत्तर देने योग्य तथ्य दूरस्थ या लक्षित सर्वरों की तारीख और समय तक पहुँच प्रदान करते हैं। तो हम उपयोग कर सकते हैं डिबग मॉड्यूल साथ में आउटपुट प्रिंट करने के लिए कहां है नीचे दिखाए अनुसार विशेषता।
--- - hosts: webservers become: true tasks: - name: Date and Time Example in Ansible debug: var=ansible_date_time.date
उपरोक्त प्लेबुक तिथि प्रदर्शित करता है।
--- - hosts: webservers become: true tasks: - name: Date and Time Example in Ansible debug: var=ansible_date_time.time
उपरोक्त प्लेबुक समय प्रदर्शित करता है।
- hosts: all tasks: - name: Ansible timestamp filename example command: touch niranjan{{ansible_date_time.date}}.log
उपरोक्त प्लेबुक, वर्तमान तिथि के आधार पर एक डायनामिक फ़ाइल बनाएगी उदाहरण के लिए: . niranjan2018-07-15.log
उदाहरण 10: चर उदाहरण
परिपत्र से जुड़ी सूची c ++
चर का उपयोग मूल्यों को संग्रहीत करने के लिए किया जाता है। नीचे दिए गए उदाहरण में मैं चर घोषित कर रहा हूं नाम मूल्य के साथ निरंजन । आउटपुट होगा निरंजन ।
- hosts: all vars: name: niranjan tasks: - name: Ansible Basic Variable Example debug: msg: '{{ name }}'
नीचे के रूप में हमारे पास एक सरणी या चर की सूची भी हो सकती है उदाहरण ।
- hosts: all vars: name: - Vasudevamurthy - Niranjan tasks: - name: Ansible Array Example debug: msg: '{{ name(1) }}'
सरणी का अनुक्रमण ZERO (0) से शुरू होता है। इसलिए उपरोक्त उदाहरण में आउटपुट निरंजन होगा।
उदाहरण 11: चर रजिस्टर
हम किसी भी कार्य के आउटपुट को रजिस्टर वेरिएबल पर भी कब्जा कर सकते हैं।
- hosts: all tasks: - name: Ansible register variable basic example shell: 'find *.txt' args: chdir: '/home/Ansible' register: reg_output - debug: var: reg_output
नोट: प्रदर्शित करने के लिए - msg विशेषता का उपयोग करें और किसी भी मान को कैप्चर करने के लिए - varug मॉड्यूल में var विशेषता का उपयोग करें
उदाहरण 12: लक्ष्य सर्वर या मशीनों पर विम संपादक और जीआईटी स्थापित करने के लिए प्लेबुक।
इस प्लेबुक में, हमने इसका उपयोग किया है यम सॉफ्टवेयर पैकेज के नवीनतम संस्करण को स्थापित करने के लिए मॉड्यूल।
--- - hosts: webservers become: true tasks: - name: Install Package yum: name=vim,git state=latest
उदाहरण 13: Apache सर्वर स्थापित करें। नीचे दिए गए कोड को सहेजें और नीचे दिखाए अनुसार प्लेबुक चलाएं।
--- - hosts: webservers become: true tasks: - name: Install Package yum: name=httpd state=present - name: Start httpd service service: name=httpd state=started
इससे अलग यम मॉड्यूल, सर्विस मॉड्यूल का उपयोग httpd सेवा शुरू करने के लिए भी किया जाता है। कार्य समकालिक रूप से ऊपर से नीचे की ओर चलते हैं।
उदाहरण 14: JDK स्थापित करें
निम्न प्लेबुक सभी टार्गेट मशीन या सर्वर पर JDK 8 स्थापित करने के लिए स्वचालित होगी। JDK मावेन या टॉमकैट जैसे अधिकांश अन्य सॉफ्टवेयर पैकेजों के लिए एक पूर्व-आवश्यकता है।
--- - hosts: webservers become: true vars: download_url: http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm tasks: - name: Download JDK 8 RPM file command: 'wget --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' {{download_url}} ' - name: Install JDK 8 command: 'rpm -ivh jdk-8u171-linux-x64.rpm'
उदाहरण 15: मावेन को स्थापित करें
प्रदर्शन किए गए कार्य URL से maven फ़ाइल को डाउनलोड करने के लिए हैं get_url मॉड्यूल, डाउनलोड की गई फ़ाइल को निकालें, इसे एक छोटी निर्देशिका में ले जाएं, उस प्रोफ़ाइल को अपडेट करें और चलाएं जहां मार्ग में जोड़ा गया है।
--- - hosts: webservers become: true tasks: - name: Download Maven get_url: url=http://www-us.apache.org/dist/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz dest=/opt/niranjan/apache-maven-3.5.3-bin.tar.gz - name: Extract Maven command: tar xvf /opt/niranjan/apache-maven-3.5.3-bin.tar.gz -C /opt/niranjan - name: Move to a smaller directory command: mv /opt/niranjan/apache-maven-3.5.3 /opt/niranjan/maven - name: Update Profile copy: content='export M2_HOME=/opt/niranjan/maven
' dest=/etc/profile.d/maven.sh # lineinfile is used to add additional or append lines to existing files. - lineinfile: path: /etc/profile.d/maven.sh line: 'export PATH=${M2_HOME}/bin:${PATH}' - name: Source profile shell: source /etc/profile.d/maven.sh
उदाहरण 16: टॉमकैट 8 स्थापित करें
नीचे दी गई प्लेबुक टेंक 8 को टारगेट मशीन या सर्वर पर स्थापित करने और शुरू करने में मदद करती है।
आप क्लिक कर सकते हैं यहां Tomcat 8. के नवीनतम संस्करण के लिंक स्थान को कॉपी करने के लिए क्लिक करें यहां इस प्लेबुक में मैंने जो टॉमकैट 8 टार फाइल का इस्तेमाल किया है उस URL के लिए।
--- - hosts: webservers become: true gather_facts: no tasks: - name: Download Tomcat get_url: url=http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz dest=/home/ansible - name: Extract the file downloaded tomcat file command: tar xvf apache-tomcat-8.5.32.tar.gz - name: Move the Tomcat directory to a smaller one command: mv apache-tomcat-8.5.32 tomcat - name: Change Ownership and group of the Tomcat directory file: path=/home/ansible/tomcat owner=ansible group=ansible mode=775 state=directory recurse=yes - name: Start Tomcat command: nohup /home/ansible/tomcat/bin/startup.sh # Execute command even after you have exited from the shell prompt become: true become_user: ansible
उदाहरण 17: pre_tasks, post_tasks और टैग
आप उपयोग कर सकते हैं पूर्व_ कार्य और पोस्ट_ कार्य मुख्य कार्य चलाने से पहले या बाद में कुछ कार्यों को चलाने के लिए।
आम तौर पर एक प्लेबुक में, आपके पास बहुत सारे कार्य होते हैं जिन्हें निष्पादित किया जाता है। क्या होगा यदि आपको केवल एक निश्चित कार्य को निष्पादित करने की आवश्यकता है? टैग इसका जवाब हैं। नीचे दिए गए विकल्प पर नजर डालते हैं जिसमें सभी 3 विकल्प हैं। इसके 2 कार्य हैं, एक TAG के साथ और एक TAG के बिना।
--- - name: Pre , Post tasks and Tags example hosts: localhost become: true tags: - niranjan pre_tasks: - debug: msg='Started task with tag - niranjan. tasks: - name: Going to execute the main task debug: msg='Currently in the target server' post_tasks: - debug: msg='Completed task with tag - niranjan. - name: Play without tags hosts: localhost become: true tasks: - name: Command to list files shell: ls -lrt > niranjan.txt
आइए देखते हैं कि -बुक-टैग विकल्प के साथ प्लेबुक चलाते समय क्या होता है
$ ansible-playbook preposttagseg.yml --list-tags
ऊपर आउटपुट बेहतर और स्पष्ट दिखता है। Play # 1 में एक टैग niranjan है, लेकिन Play # 2 में कोई टैग नहीं है।
यदि आपको टैग निरंजन के साथ कार्यों को निष्पादित करने की आवश्यकता है तो चलाने के लिए कमांड होगी:
$ ansible-playbook preposttagseg.yml --tags niranjan
दूसरा नाटक निष्पादित नहीं किया गया है और फ़ाइल नहीं बनाई गई है।
उदाहरण 18: संचालकों
किसी भी सॉफ्टवेयर पैकेज में विन्यास फाइल होगी और सेवा में पुनः आरंभ होने पर ही इसमें कोई भी परिवर्तन होगा। इसलिए आपको सेवा को पुनरारंभ करने के लिए सेट करने की आवश्यकता है। के लिये जैसे नीचे दी गई प्लेबुक में यदि आप इसे कई बार चलाते हैं, तो सेवा किसी भी तरह से किए गए परिवर्तनों के बावजूद पुनः आरंभ होगी या नहीं, जो सही नहीं है।
--- - hosts: webservers tasks: - name: Install the apache Package yum: name=httpd state=latest - name: Copy httpd configuration file copy: src=/home/ansible/httpd.final dest=/etc/httpd/conf/httpd.conf - name: Copy index.html file copy: src=/home/ansible/index.html dest=/var/www/html
# This service below is executed irrespective of changes done or not to any config files - name: Start and Enable httpd service service: name=httpd state= restarted enabled=yes
इसलिए हमें सेवा को फिर से शुरू करने की आवश्यकता है, यदि कॉन्फ़िगरेशन फ़ाइलों में परिवर्तन किए जाते हैं। संचालकों वह सुविधा प्रदान करें।
इसलिए हैंडलर के साथ उचित प्रवाह एक होना चाहिए सूचित करें विकल्प।
--- - hosts: webservers become: true tasks: - name: Install httpd package yum: name=httpd state=latest - name: Copy the httpd configuration file copy: src=/home/ansible/httpd.final dest=/etc/httpd/conf/httpd.conf - name: Copy index.html file copy: src=/home/ansible/index.html dest=/var/www/html notify: - restart httpd - name: Start httpd service service: name=httpd state=started enabled=yes handlers: - name: restart httpd service: name=httpd state=restarted
तो पहली बार, अपाचे सर्वर स्थापित और शुरू किया जाएगा। यहां तक कि अगर आप बिना किसी बदलाव के playbook को फिर से चलाते हैं तो httpd सर्विस दोबारा शुरू नहीं होगी क्योंकि यह पहले से ही शुरू हो चुकी है।
अगर कॉन्फिग फाइलों में कोई बदलाव होता है या HTML फाइलें बदली जाती हैं तो एक बार प्लेबुक चलाने के बाद हैंडलर को सेवा को फिर से शुरू करने के लिए अधिसूचित किया जाता है। अधिसूचित अनुभाग और हैंडलर में नाम समान होना चाहिए। हैंडलर को किसी अन्य कार्य की तरह लिखा जाता है लेकिन परिवर्तन होने पर ही इसे कहा जाता है।
अन्सिबल वॉल्ट
अधिकांश समय जब संवेदनशील या गोपनीय डेटा को प्लेबुक में संरक्षित करने की आवश्यकता होती है, तो इसे केवल एक पाठ फ़ाइल में रखने के बजाय एन्क्रिप्ट किया जा सकता है जो सभी द्वारा पठनीय है। Ansible Vault आपको गोपनीय डेटा की सुरक्षा के लिए प्लेबुक को एन्क्रिप्ट करने की अनुमति देता है।
उदाहरण के लिए, निम्नलिखित कार्य पर विचार करें जहां एक गोपनीय नौकरी समझौते की नकल की जा रही है।
ऐसे मामलों में, आपको एक अनूसूचित तिजोरी की आवश्यकता होगी।
--- - hosts: webservers become: true tasks: - name: Copying Confidential Job Agreement copy: content='This is a Confidential Job Agreement' dest=/home/ansible/jobagreement.txt
निम्नलिखित चरण हैं जिन्हें आपको ऊपर प्लेबुक फ़ाइलों को एन्क्रिप्ट करने के लिए पालन करने की आवश्यकता है।
# 1) नई एन्क्रिप्टेड फ़ाइलें बनाना
तिजोरी के साथ नई एन्क्रिप्टेड फ़ाइलें बनाने के लिए उपयोग करें ansible- वॉल्ट बनाएं आज्ञा।
$ ansible-vault create jobagreement.yml
पासवर्ड की पुष्टि करने के बाद फ़ाइल में सामग्री जोड़ने के लिए एक संपादन विंडो खुल जाएगी।
जब आप फ़ाइल को बंद करते हैं तो Ansible सामग्री को एन्क्रिप्ट करेगा। वास्तविक सामग्री देखने के बजाय आप एन्क्रिप्टेड ब्लॉक देखेंगे।
# 2) मौजूदा yml फ़ाइल को एन्क्रिप्ट करने के लिए निम्नलिखित का उपयोग करें
$ ansible-vault encrypt existingfile.yml
पासवर्ड फिर से एन्क्रिप्शन के लिए कहा जाएगा।
# 3) एन्क्रिप्टेड फ़ाइल देखना
कमांड का उपयोग करें ansible-vault view फ़ाइल की वास्तविक सामग्री को देखने के लिए।
$ ansible-vault view jobagreement.yml
आपको फ़ाइल की सामग्री को देखने के लिए फिर से पासवर्ड मांगा जाएगा।
# 4) एन्क्रिप्टेड फ़ाइलों का संपादन
यदि आपको फ़ाइल का उपयोग करने की आवश्यकता है तो कमांड का उपयोग करें ansible-vault edit
$ ansible-vault edit users.yml
फ़ाइल को संपादित करने के लिए पासवर्ड दर्ज करें।
# 5) एन्क्रिप्ट की गई फाइलों का पासवर्ड बदलना
कमांड का उपयोग करें ansible-vault rekey फ़ाइल का पासवर्ड बदलने के लिए।
$ ansible-vault rekey jobagreement.yml
# 6) एक एनक्रिप्टेड Ansible playbook फ़ाइल चलाएं
Ansible-playbook कमांड के साथ option -ask-वॉल्ट-पास का उपयोग करें।
$ ansible-playbook users.yml --ask-vault-pass
# 7) एन्क्रिप्टेड फ़ाइलों को मैन्युअल रूप से डिक्रिप्ट करना
कमांड ansible-वॉल्ट डिक्रिप्ट कमांड का उपयोग करें।
$ ansible-vault decrypt jobagreement.yml
सारांश
इस ट्यूटोरियल में हमने विन्यास प्रबंधन के दो सबसे महत्वपूर्ण पहलुओं को देखा Ansible Playbooks और Ansible वाल्ट्स का उपयोग करके संवेदनशील डेटा की सुरक्षा।
प्लेबुक के उपरोक्त उदाहरणों ने आपको एक विचार दिया होगा कि सॉफ्टवेयर डिलीवरी के दौरान विभिन्न कार्यों में विभिन्न कार्यों को कैसे स्वचालित किया जाए।
हमारे आगामी ट्यूटोरियल में, हम देखेंगे कि एन्सिबल भूमिकाओं का उपयोग करके प्लेबुक को कैसे संशोधित किया जाए, एईएसई उदाहरणों के प्रबंधन के लिए एन्सिबल एस 3 और ईसी 2 मॉड्यूल के साथ काम करने के लिए जेनकिंस और सबसे महत्वपूर्ण पहलू के साथ एकीकृत करें (बनाएं और समाप्त ईसी 2 शेष)।
क्रोम में swf फाइल नहीं खुलेगी
PREV ट्यूटोरियल | अगले ट्यूटोरियल
अनुशंसित पाठ
- अन्सिबल ट्यूटोरियल: इंस्टाल्ड मॉड्यूल्स के साथ इंस्टॉलेशन और यूसेज
- SeeTest स्वचालन कमांड: उदाहरण के साथ एक विस्तृत विवरण
- Ansible Roles, DevOps में जेनकींस के साथ एकीकरण, और EC2 मॉड्यूल
- शीर्ष 5 सबसे लोकप्रिय टेस्ट ऑटोमेशन फ्रेमवर्क (उदाहरण) का उपयोग करके टेस्ट लिपियों का विकास कैसे करें
- स्क्रिप्टलेस टेस्ट ऑटोमेशन फ्रेमवर्क: टूल और उदाहरण
- उदाहरणों के साथ पायथन डेटटाइम ट्यूटोरियल
- उदाहरणों के साथ यूनिक्स में कमान काटें
- टेस्ट स्वचालन - यह एक विशेष कैरियर है? क्या सामान्य परीक्षक भी स्वचालन कर सकते हैं?