{{ :wiki:ostatni:ansible:ansible.png?nolink&150|}} ====== Ansible ====== ===== Základní konfigurace ===== ==== Vypnutí cowsay (kravičky): ==== export ANSIBLE_NOCOWS=1 nebo V souboru /etc/ansible/ansible.cfg odkomentovat: nocows = 1 ==== Host key checking ==== Vypnutí ověřování klíče ssh serveru/hosta. Typicky po reinstalaci se změní klíč a ssh hlásí chybu při připojení, že klíč se změnil. V souboru /etc/ansible/ansible.cfg: [defaults] host_key_checking = False nebo export ANSIBLE_HOST_KEY_CHECKING=False ===== Inventory ===== * /etc/ansible/hosts ===== Ad-Hoc příkazy ===== Předpokladem je funkční SSH spojení se všemi prvky s ověřováním klíčem. Příkazy se spouští pod běžným uživatelským účtem (tedy ne pod rootem). # test spojení na všechny prvky z inventory souboru ansible all -m ping # Spuštění příkazu na všech prvcích jako sudo (ansible all -u kaplan --sudo --ask-sudo-pass -a "/bin/echo hello") starsi zpusob ansible all -u kaplan -become -K -m ping ===== Skoleni cz.nic ===== https://gist.github.com/HalisCz/42752c7f9761946f2187fab63a386706 **ansible all --inventory "172.29.29.14,172.29.29.15" -a 'cat /etc/os-release'** 172.29.29.15 | SUCCESS | rc=0 >> NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" 172.29.29.14 | SUCCESS | rc=0 >> NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.3 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic **ansible all --inventory "172.29.29.14,172.29.29.15" -m user -a 'name=bob shell=/bin/bash generate_ssh_key=yes'** 172.29.29.15 | SUCCESS => { "changed": true, "comment": "", "create_home": true, "group": 1001, "home": "/home/bob", "name": "bob", "shell": "/bin/bash", "ssh_fingerprint": "2048 SHA256:CYAD6GRswrzm6L5wJZIvN9vDNp9tSmx7Uv0jv0i7H7g ansible-generated on centos (RSA)", "ssh_key_file": "/home/bob/.ssh/id_rsa", "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsMWSIRw2NvfFvCV0cont5LNOP6vsqQoT8fLJYl7WWlwjwjPMRNckkF/XeF5D1M2Nt7GODLBXOCDZoFvIJQbQuXyxEE9G7oX/sxbObUOBi6cpDZX2BRKtLIlSMqC0o/rlCdQ7d3eYFTv4bcP6JgZyernjttPJZ+XqEYsuaot3nAdIJcRNxKSC4cVE2ibXIANA1dDxpHBGIlm682RXH1+n1QjXS2AYRehXL6QESk9fExWXvBKb2/bA/SAkHOUDmUgXOFY7G3uJWxm3NYmUq0Jew6j38dgzAS+3s7w9vQ1qsqpM+PI4IoHtvHZcebBW0RceJDFbVW1HjQKpCxaKPuzPR ansible-generated on centos", "state": "present", "system": false, "uid": 1001 } 172.29.29.14 | SUCCESS => { "changed": true, "comment": "", "create_home": true, "group": 1002, "home": "/home/bob", "name": "bob", "shell": "/bin/bash", "ssh_fingerprint": "2048 SHA256:+kSWr8AJLRu1/9Kj7gJzo29Xn9x2cHq6VXjdX4lH+P0 ansible-generated on ubuntu (RSA)", "ssh_key_file": "/home/bob/.ssh/id_rsa", "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjbY0zkFkwv/xbzuoJYvOxkHiOJtQYG7RXlWT8ce/XlftoB5P3Vqoovj1g3ks1xWoHamG1lmbmdf+yPwTjJx3v2ZpPirrsXH5Y98GLjJ/8Xtf1XvKvsbfGH4CwC6577NOn4cDJ6+57rpHmYGHGOAVXI3DQTUnxIVCm98Dd3t2oA2KD1AhyU+PA4Yf+3YdpfY0rH0LhwbqGlHOtHYIr06hteJaMrDjujxix0vMBxlR9jH3erRNkSqSc2k6rSyRdaylWga7Uo4PoMBvhht3EE/38pDYEp7zlzx+MwSV/JzkTY0CP9pt4NaAJmqLcWZSKQQU65j8lHlatU1ynA8VVV1aZ ansible-generated on ubuntu", "state": "present", "system": false, "uid": 1002 } root@ubuntu:/vagrant_data# ansible all --inventory "172.29.29.14" -m user -a 'name=bob shell=/bin/bash' [WARNING]: Unable to parse /vagrant_data/172.29.29.14 as an inventory source [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' root@ubuntu:/vagrant_data# ansible all --inventory "172.29.29.14," -m user -a 'name=bob shell=/bin/bash' 172.29.29.14 | SUCCESS => { "append": false, "changed": false, "comment": "", "group": 1002, "home": "/home/bob", "move_home": false, "name": "bob", "shell": "/bin/bash", "state": "present", "uid": 1002 }