Недавно я смотрю на Ansible и хочу использовать его в проектах. А также еще один инструмент Rundeck можно использовать для выполнения всех видов операций. У меня нет опыта ни с одним инструментом, и это мое текущее понимание о них:
Аналогичные точки
-
Оба инструмента не имеют агента и используют SSH для выполнения команд на удаленных серверах.
-
Основная концепция Rundeck Node, то же самое, что и Ansible inventory, ключевая идея - определить/управлять/группировать целевые серверы.
- Rundeck может выполнять команды ad-hoc на выбранных узлах, Ansible также может сделать это очень удобно.
- Rundeck может определять рабочий процесс и выполнять выполнение на выбранных узлах, это можно сделать с помощью Ansible, написав playbook
- Rundeck может быть интегрирован с инструментом CI, таким как Jenkins, чтобы выполнить работу по развертыванию, мы также можем определить задание Jenkins для запуска загрузочной книги для выполнения работы по развертыванию.
Различные точки
-
В Rundeck есть понятие Иов, которое Ansible не
-
В Rundeck есть Job Scheduler, который Ansible может достичь этого только с помощью других инструментов, таких как задачи Jenkins или Cron.
-
Rundeck имеет бесплатный веб-интерфейс по умолчанию бесплатно, но вам нужно заплатить за Ansible Tower
Кажется, что Ansible и Rundeck могут использоваться для работы с конфигурацией/управлением/развертыванием, возможно, по-другому. Поэтому мои вопросы:
- Являются ли эти два дополнительных инструментария или они предназначены для разных целей? Если они являются дополнительными инструментами, почему Ansibl сравнивается только с такими инструментами, как Chef/Puppet/Slat, но не с Rundeck? Если они не потому, что у них так много подобных функций?
- Мы уже используем Jenkins для CI, чтобы построить конвейер непрерывной доставки, какой инструмент (Ansible/Rundeck) лучше использовать для развертывания?
- Если они могут использоваться вместе, какая лучшая практика?
Приветствуются любые предложения и обмен опытом.