ansible
इन्वेंटरी
खोज…
पैरामीटर
पैरामीटर | व्याख्या |
---|---|
ansible_connection | होस्ट को कनेक्शन प्रकार। यह किसी भी ansible कनेक्शन प्लगइन्स का नाम हो सकता है। SSH प्रोटोकॉल प्रकार smart , ssh या paramiko । डिफ़ॉल्ट स्मार्ट है। गैर-एसएसएच आधारित प्रकार अगले अनुभाग में वर्णित हैं। |
ansible_host | कनेक्ट करने के लिए होस्ट का नाम, यदि आप इसे देने के लिए चाहते हैं उर्फ से अलग है। |
ansible_port | Ssh पोर्ट संख्या, यदि 22 नहीं है |
ansible_user | उपयोग करने के लिए डिफ़ॉल्ट ssh उपयोगकर्ता नाम। |
ansible_ssh_pass | उपयोग करने के लिए ssh पासवर्ड (यह असुरक्षित है, हम दृढ़ता से --ask-pass या SSH कुंजियों का उपयोग करने की सलाह देते हैं) |
ansible_ssh_private_key_file | निजी कुंजी फ़ाइल ssh द्वारा उपयोग की जाती है। उपयोगी यदि कई कुंजियों का उपयोग कर रहे हैं और आप SSH एजेंट का उपयोग नहीं करना चाहते हैं। |
ansible_ssh_common_args | यह सेटिंग हमेशा sftp , scp और ssh के लिए डिफ़ॉल्ट कमांड लाइन से जुड़ी होती है । एक निश्चित होस्ट (या समूह) के लिए एक ProxyCommand कॉन्फ़िगर करने के लिए उपयोगी है। |
ansible_sftp_extra_args | यह सेटिंग हमेशा डिफ़ॉल्ट sftp कमांड लाइन से जुड़ी होती है । |
ansible_scp_extra_args | यह सेटिंग हमेशा डिफ़ॉल्ट scp कमांड लाइन से जुड़ी होती है । |
ansible_ssh_extra_args | यह सेटिंग हमेशा डिफ़ॉल्ट ssh कमांड लाइन से जुड़ी होती है । |
ansible_ssh_pipelining | यह निर्धारित करता है कि SSH पाइपलाइनिंग का उपयोग करना है या नहीं। यह ansible.cfg में pipelining सेटिंग को ओवरराइड कर सकता है। |
ansible_become | ansible_sudo या ansible_su समतुल्य, विशेषाधिकार वृद्धि को बाध्य करने की अनुमति देता है |
ansible_become_method | विशेषाधिकार वृद्धि विधि सेट करने की अनुमति देता है |
ansible_become_user | ansible_sudo_user या ansible_su_user समतुल्य, आपके द्वारा विशेषाधिकार वृद्धि के माध्यम से उपयोगकर्ता को सेट करने की अनुमति देता है |
ansible_become_pass | ansible_sudo_pass या ansible_su_pass समतुल्य, आपको विशेषाधिकार ansible_su_pass पासवर्ड सेट करने की अनुमति देता है |
ansible_shell_type | लक्ष्य प्रणाली का खोल प्रकार। जब तक आपने ansible_shell_executable को गैर-बॉर्न (sh) संगत शेल में सेट नहीं किया है, तब तक आपको इस सेटिंग का उपयोग नहीं करना चाहिए। डिफ़ॉल्ट रूप से आदेशों का उपयोग करते स्वरूपित हैं sh शैली वाक्य रचना। इसे csh या fish सेट करने से उन शेल सिंटैक्स का अनुसरण करने के लिए लक्ष्य सिस्टम पर निष्पादित कमांड का कारण होगा। |
ansible_python_interpreter | लक्ष्य मेजबान अजगर पथ। यह एक से अधिक पायथन वाले सिस्टम के लिए उपयोगी है या नहीं / usr / bin / python पर स्थित है जैसे कि * BSD, या जहाँ / usr / bin / python एक 2.X श्रृंखला पायथन नहीं है। हम / usr / bin / env तंत्र का उपयोग नहीं करते हैं क्योंकि इसके लिए दूरस्थ उपयोगकर्ता के पथ को सही सेट करने की आवश्यकता होती है और यह भी माना जाता है कि अजगर निष्पादन योग्य का नाम अजगर है, जहां निष्पादन योग्य का नाम pythonj.6 जैसा कुछ हो सकता है। |
ansible _ * _ दुभाषिया | रूबी या पर्ल जैसी किसी भी चीज़ के लिए काम करता है और ansible_python_interpreter तरह ही काम करता है। यह मॉड्यूल के शेबेंग को बदल देता है जो उस होस्ट पर चलेगा। |
ansible_shell_executable | यह शेल सेट करने executable नियंत्रक को लक्ष्य मशीन पर प्रयोग करेगा, जो ansible.cfg में executable को ओवरराइड ansible.cfg जो डिफॉल्ट को / बिन / श तक ansible.cfg । आपको वास्तव में केवल इसे बदलना चाहिए यदि उपयोग करना संभव नहीं है / बिन / श (यानी लक्ष्य मशीन पर / बिन / श स्थापित नहीं है या sudo से नहीं चलाया जा सकता है।)। संस्करण 2.1 में नया। |
उपयोगकर्ता नाम और पासवर्ड के साथ सूची
इन्वेंटरी आपके इंफ्रास्ट्रक्चर के सभी सिस्टम को ट्रैक करने का एक तरीका है। यहाँ एक सरल इन्वेंट्री फ़ाइल है जिसमें सिंगल सिस्टम और Ansible के लिए लॉगिन क्रेडेंशियल्स हैं।
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd
कस्टम निजी कुंजी के साथ इन्वेंटरी
[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key
कस्टम एसएसएच पोर्ट के साथ इन्वेंटरी
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222
स्थैतिक सूची को पास-योग्य-प्लेबुक में दें
ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml
डायनामिक इन्वेंट्री पास करने के लिए ansible-playbook
ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml
अधिक जानकारी के लिए डायनामिक इन्वेंट्री देखें।
इन्वेंटरी, ग्रुप वर्स और यू
परियोजना संरचना (ansible सबसे अच्छा अभ्यास)।
project/
group_vars/
development
inventory.development
playbook.yaml
यह सब इन्वेंट्री से शुरू होता है। विकास
[development]
dev.fakename.io
[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232
[api:children]
development
जो आपको group_vars से लिंक करने देता है। डेटा 'विशिष्ट' को उस परिवेश में रखें ...
---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f
जो निम्न प्लेबुक को इन्वेंट्री फ़ाइल को फिर से चलाने देता है:
---
- name: Install api.
hosts: api
gather_facts: true
sudo: true
tags:
- api
roles:
- { role: api, tags: ["api"] }
निम्नलिखित रनलाइन के साथ:
ansible-playbook playbook.yaml -i inventory.development
होस्ट फ़ाइल
होस्ट फ़ाइल का उपयोग अनिसबल प्लेबुक के लिए कनेक्शन संग्रहीत करने के लिए किया जाता है। कनेक्शन मापदंडों को परिभाषित करने के लिए विकल्प हैं:
ansible_host
होस्टनाम या IP पता है
ansible_port
SSH के लिए मशीन का उपयोग करने वाला पोर्ट है
ansible_user
रूप में कनेक्ट करने के लिए दूरस्थ उपयोगकर्ता है
अगर SSH के लिए पासवर्ड का उपयोग कर ansible_ssh_pass
ansible_ssh_private_key_file
यदि आपको कई कुंजियों का उपयोग करने की आवश्यकता है जो मेजबानों के लिए विशिष्ट हैं
ये सबसे अधिक उपयोग किए जाने वाले विकल्प हैं। अधिक Ansible आधिकारिक दस्तावेज में पाया जा सकता है।
यहाँ एक उदाहरण hosts
फ़ाइल है:
# Consolidation of all groups
[hosts:children]
web-servers
offsite
onsite
backup-servers
[web-servers]
server1 ansible_host=192.168.0.1 ansible_port=1600
server2 ansible_host=192.168.0.2 ansible_port=1800
[offsite]
server3 ansible_host=10.160.40.1 ansible_port=22 ansible_user=root
server4 ansible_host=10.160.40.2 ansible_port=4300 ansible_user=root
# You can make groups of groups
[offsite:children]
backup-servers
[onsite]
server5 ansible_host=10.150.70.1 ansible_ssh_pass=password
[backup-servers]
server6 ansible_host=10.160.40.3 ansible_port=77