Данный плейбук состоит из 4х ролей:
- common: установка общесистемных пакетов, etc;
- nomad-common: распаковка бинарника nomad-а, подготвка systemd-юнита, создание необходимых каталогов;
- docker-install: установка, подготовка и запуск Docker,
- nomad-server: подготовка конфигурации и запуск сервера nomad;
- nomad-client: подготовка конфигурации и запуск клиента nomad.
Разделение ролей на nomad-common, nomad-server и nomad-client обусловлено тем, что и сервер, и клиент запускаются из одного и того же бинарника. Кем будет являться конкретный инстанс nomad-а, зависит от конфигурации.
Количество серверов/клиентов можно регулировать в inventory/hosts.
Деплой:
ansible-playbook -i inventory/hosts playbook/site.yml
После деплоя WEB UI nomad-а будет доступен по адресу http://nomad-server-address:4646