docker-swarm

Ansible роль для настройки кластера Docker Swarm

Проект Статус сборки Лицензия

Эта роль:

  • Настраивает кластер
  • Управляет управляющими узлами и рабочими узлами

Выполнение основано на конечном автомате, поэтому эта роль может преобразовать существующий кластер в желаемое состояние. См. замечания и протестируйте преобразование перед выполнением!

Смотрите ansible роль для Docker для установки Docker.

Требования

Ansible 2.3 и установленный Docker.

Замечания

Если изменяются управляющие узлы, хотя бы один из них должен оставаться статичным для каждого выполнения плейбука. Например, чтобы заменить manager-1 на manager-2:

  1. Добавьте manager-2 в управляющие узлы
  2. Запустите плейбук
  3. Удалите manager-1 из управляющих узлов
  4. Запустите плейбук

Уменьшите или удалите узлы с помощью плейбука:

  1. Оставьте узлы в инвентаре (см. пример ниже)
  2. Запустите плейбук
  3. Теперь вы можете удалить узлы, которые не участвуют в кластере, из инвентаря

Пример плейбука

Установите роль глобально с помощью:

ansible-galaxy install Bessonov.docker-swarm

или локально:

ansible-galaxy install --roles-path roles Bessonov.docker-swarm

Инвентарь (вы можете выбрать любые имена для групп, removed-nodes является необязательным для нового кластера):

[managers]
node-1
node-2
node-3

[workers]
node-1
node-3
node-4

[removed-nodes]
node-5
node-6

Плейбук:

# собираем информацию о узлах, которые должны быть удалены или понижены в существующем кластере
- hosts: removed-nodes:workers
  tasks: []

# Docker должен быть установлен заранее
# вы можете использовать любую роль для установки Docker
- hosts: managers:workers
  roles:
    - role: Bessonov.docker

- hosts: managers
  # CLI Docker не поддерживает параллельный доступ
  serial: 1
  roles:
    - role: Bessonov.docker-swarm
      swarm_worker_hosts: workers

      # необязательно: переопределите параметры по умолчанию, смотрите `defaults/main.yml`
      swarm_cluster_bootstrap_parameters:
        --advertise-addr: enp0s8

Лицензия

MIT License (MIT)

Авторские права (c) 2017, Антон Бессонов

Разрешение настоящим данным, безвозмездно, любому лицу, получающему копию это программного обеспечения и сопутствующих документационных файлов ("Программное обеспечение"), пользоваться в Программном обеспечении без ограничений, включая, помимо прочего, права использовать, копировать, модифицировать, объединять, публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым Программное обеспечение предоставлено, делать это, при соблюдении следующих условий:

Указанные выше права автоподдает и это разрешение должны быть включены во все копии или значительные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ ГАРАНТИЙ КАКОГО-ЛИБО РОДА, ЯВНЫХ И ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ДЕЛОВОЙ УСПЕШНОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ. В НИКАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВОДЕРЖАТЕЛИ АВТОРСКИХ ПРАВ НЕ НОСЯТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ИСКИ, УБЫТКИ ИЛИ ИНЫЕ ОТВЕТСТВЕННОСТИ, БУДЬ ТО В РАМКАХ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ИЗ, В РЕЗУЛЬТАТЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ СДЕЛКАМИ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ.

О проекте

Setup and manage a docker swarm cluster

Установить
ansible-galaxy install Bessonov/ansible-role-docker-swarm
Лицензия
mit
Загрузки
10638
Владелец