docker-systemd
kibatic.docker-systemd
Эта роль позволяет определять файлы юнитов в формате yml (похожем на docker compose) и генерировать юниты systemd на удалённых хостах. Это можно считать очень простой и лёгкой, но мощной системой оркестрации.
Требования
- Установленный демон Docker на хост-системе
Установка
$ ansible-galaxy install kibatic.docker-systemd
Переменные роли
# Стандартные тома docker, смонтированные на каждом контейнере
# /etc/localtime необходим для передачи часового пояса хоста контейнерам
default_volumes:
- /etc/localtime:/etc/localtime:ro
# Директория, где будут храниться все данные контейнера: тома, загруженные конфигурационные файлы и т.д.
container_data_home: '/home/cloud/containers'
# Стандартные опции, передаваемые в docker run
default_docker_options: ''
# Стандартные метки, выставляемые на каждом контейнере
default_docker_labels: []
# Стандартное имя сети
default_network_name: default_network
# Юниты, которые будут удалены из системы
removed_units: []
Пример Playbook
Включение примера того, как использовать вашу роль (например, с переменными, переданными в качестве параметров), всегда полезно для пользователей:
- hosts: my.awsome.host.example.com
roles: [ kibatic.docker-systemd ]
vars_files: [ vars/units/my-awsome-service/units.yml ]
tags:
- my-awsome-service
# Эта строка обеспечивает, что удалённый сервис отсутствует в системе
- hosts: my.awsome.host.example.com
roles: [ kibatic.docker-systemd ]
vars:
removed_units:
- my-removed-service
Пример юнита
systemd_units:
- name: symfony_web
image: my_awsome_symfony_image
restart_unit: true # перезапускать ли юнит при выполнении роли или нет (может быть опасно на sql кластерах)
host_copy: []
environment:
SYMFONY__DATABASE__HOST: symfony_db
SYMFONY__DATABASE__USER: root
SYMFONY__DATABASE__PASSWORD: root
SYMFONY__DATABASE__NAME: demo
- name: symfony_db
image: mysql:5.5
host_copy: []
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: demo
Лицензия
MIT
Установить
ansible-galaxy install kibatic/docker-systemd
Лицензия
mit
Загрузки
1088
Владелец
Ajoutez de l'intelligence à vos systèmes