Ansible применяется для управления множеством хостов. Не требует установки дополнительного программного обеспечения - нужен только доступ к управляемому компьютеру. ОС управляющего и управляемого сервера могут не совпадать, т.е управляющий сервер может быть на Centos а принимающий на Debian и наоборот. Ansible использует Playbooks - сценарии.на языке YAML.
Для установки Ansible на ОС, использующих yum напишем в командной строке:
yum install ansible
Проверим корректность установки.
ansible --version
Настройки ansible хранятся в папке /etc/ansible.
Для взаимодействия с другими хостами необходимо сгенерировать ключевой файл с помощью ssh-keygen.
Обмен открытыми ключами можно осуществить используя ssh-copy-id <имя или ip сервера>. При соединении с данным сервером прочитается ключ и будет предоставлен доступ.
Теперь добавим этот узел в файл:
/etc/ansible/hosts.
Узел можно добавить отдельно или в любую группу, если хостов несколько, например в webservers:
Сделаем плейбук - например установим curl на сервер с ОС Debian.
В плейбуке использованы следующие команды:
- hosts: задает имя или ip хоста или группы хостов
- tasks: описание задачи
- name: Install curl - имя задачи
- apt: name=curl state=present -операция - установить пакет curl через apt, ключ state указывает что делать с пакетом
- latest означает установить или обновить до последней версии, если пакет есть
- present - просто установить
- absent - удалить пакет
Запустим плейбук командой: