Ansible — yet another система управления конфигурациями. Отличительная особенность — простота, при большой гибкости. И это не просто слова — дальше я покажу на примерах несколько простейших операций и познакомлю вас с некоторыми “бест практис”.
Итак, у нас есть группы хостов:
WebServersG1 |
webserver1-g1, webserver2-g1 |
WebServersG2 |
webserver1-g2, webserver2-g2 |
WebServersProxy |
webserver-proxy1, webserver-proxy2 |
DataBase |
db1, db2 |
DataBaseSlave |
dbs1, dbs2 |
SomeServers |
someserver1, someserver2 |
Мы хотим подготовить все хосты к адекватной работе — установить необходимый набор софта (htop, zsh, vim, iftop, sudo, mc, tmux, wget), скопировать свои ключи и конфиги и поставить и сконфигурировать софт специфичный для этого сервера.
Ansible подразумевает минимум два файла для начала работы — инвентарный файл, в который мы пишем список хостов и делим их по группам — inventory и файл задач — playbook.
Они нужны для того, чтобы когда мы все сделаем запустить все красиво:
ansible-playbook -i инвентарный_файл playbook.yml
Давайте создадим инвентарный файл по имени “infrastructure” на основе наших хостов:
Читать полностью »