Ansible
Ansible — это инструмент управления конфигурациями, который автоматизирует настройку, развертывание и управление IT-инфраструктурой. Он особенно полезен для системных администраторов и DevOps-инженеров, поскольку позволяет быстро и эффективно изменять конфигурацию большого числа серверов. Ansible - это инструмент infrastructure as a code для автоматизации задач по подготовке и конфигурированию инфраструктуры.
Подготовка сервера
Прежде, чем на сервере мы сможем работать с помощью ansible, нужно
| Выдать рут права пользователю ансибл | |
|---|---|
| Создать пользователя ansible и добавить в группу sudo | |
|---|---|
ssh-copy-id -i ~/.ssh/id_rsa.pub ansibleuser@192.168.1.69
Модули
Предпочтительно использовать специальные модули представленные на странгице
Ad-Hoc
Ad-Hoc команды, можно запускать сразу из командной строки, используя различные модули и опции так, как если бы они были написаны в playbook. Явное отличие в том, что таким образом можно быстро что-то протестировать или проверить используя например тот же модуль пинг или если хочется на всех серверах выполнить какую-то диагностическую команду по типу ps auxf
Playbook
Записывается в формате YAML и чаще всего с расширением yml Правилами хорошего тона, придерживаться использования модулей ansible вместо shell команд, тогда как в таком случаи будет гарантированна индемпотентность.
Role
По своей сути некое продолжение Playbook, где взят например конкретный сценарий, например подготовка linux сервера, под какие-либо общепринятые стандарты, установка пакетов секретов и чего либо ещё и в конечном счёте превращение этого шаблонного шага в рорль, например подготовка_линукс_сервера.yml Проще всего генерировать роль средствами ansible