docker-systemd

kibatic.docker-systemd

Эта роль позволяет определять файлы юнитов в формате yml (похожем на docker compose) и генерировать юниты systemd на удалённых хостах. Это можно считать очень простой и лёгкой, но мощной системой оркестрации.

Статус сборки Роль Ansible

Требования

  • Установленный демон 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 role to provision docker services using systemd

Установить
ansible-galaxy install kibatic/docker-systemd
Лицензия
mit
Загрузки
1093
Владелец
Ajoutez de l'intelligence à vos systèmes