खोज…


पैरामीटर

पैरामीटर व्याख्या
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


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow