Ansible
Материал из noname.com.ua
Ansible
Я не часто пользуюсь ansible и это склерозник что б не гуглить каждый раз
Инвентарь
Пример
[master] master-0 kaas_name="kaas-node-0e8149aa-5032-4fe3-8ec5-de661acdccc4" profile="unspecified" ansible_host="10.15.20.65" master-1 kaas_name="kaas-node-3a0c6ddc-4fc1-4f7a-b103-517b2b3a23dc" profile="unspecified" ansible_host="10.15.20.66" master-2 kaas_name="kaas-node-7eed0dad-3f08-4040-879c-dc33c155ba2a" profile="unspecified" ansible_host="10.15.20.67"
[master]— имя группы хостов. Используется вhosts:плейбука и дляgroup_vars/master.yml.master-0 / master-1 / master-2— inventory_hostname (логическое имя хоста в инвентаре). По нему вы адресуетесь к хосту в паттернах (-l master-0) и в hostvars.ansible_host="10.15.20.X"— адрес/имя, по которому Ansible реально подключается (SSH). Если не задан, Ansible попробует подключаться к inventory_hostname.kaas_name="..."— произвольная переменная хоста. Не встроенная; задаётся вами и доступна в задачах как {{ kaas_name }}.profile="unspecified"— тоже произвольная переменная хоста, доступна как {{ profile }}.
ping
ansible --inventory ./inventory-eu-lon-pc8.ini ctl -l 'ctl-*' -m ping
--inventory ./inventory-eu-lon-pc8.inictl-l 'ctl-*'-m ping
ctl-z02r02b08-08 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
33
ansible -i ./inventory-eu-lon-staging2.ini 'ctl:mos-ctl-*' -a 'cat /etc/sysctl.d/999-udp_sockets.conf'