Spec-Zone.ru › Ansible 2.7

docker_swarm – Управление кластером Swarm

Новое в версии 2.7.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Создание нового кластера Swarm.
  • Добавление/удаление узлов или менеджеров в существующий кластер.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.7
  • docker-py >= 1.10.0
  • Обратите внимание, что модуль Python docker-py был заменён на docker (подробнее см. здесь). Для Python 2.6 необходимо использовать docker-py. В противном случае рекомендуется установить модуль Python docker. Обратите внимание, что оба модуля не должны быть установлены одновременно. Также обратите внимание, что при установке и последующем удалении одного из модулей другой может перестать работать, и потребуется его повторная установка.
  • Docker API >= 1.25

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
advertise_addr
строка
Рекламируемый внешнему доступу адрес, который будет объявлен другим узлам.
Это может быть сочетание адреса/порта в формате 192.168.1.1:4567, или интерфейс, после которого следует номер порта, как, например, eth0:4567.
Если номер порта опущен, используется номер порта из адреса прослушивания.
Если advertise_addr не указан, он будет автоматически определён, когда это возможно.
api_version
-
По умолчанию:
"auto"
Версия Docker API, работающего на Docker хосте. По умолчанию используется самая последняя версия API, поддерживаемая docker-py.
Если значение не указано в задаче, вместо него будет использовано значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, будет использовано значение по умолчанию.

псевдонимы: docker_api_version
autolock_managers
логическое значение
    Варианты:
  • нет
  • да
Если установлено, генерируется ключ и используется для блокировки данных, хранящихся на менеджерах.
Значение по умолчанию Docker — no.
ca_force_rotate
целое число
Целое число, предназначенное для принудительной генерации нового сертификата и ключа CA узел, если они не были указаны.
Значение по умолчанию Docker — 0.
Требуется версия API >= 1.30.
cacert_path
-
Использование сертификата CA при проверке сервера, указав путь к файлу сертификата CA.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH установлена, будет использован файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

псевдонимы: tls_ca_cert
cert_path
-
Путь к файлу TLS-сертификата клиента.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH установлена, будет использован файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

псевдонимы: tls_client_cert
debug
логическое значение
    Варианты:
  • нет ←
  • да
Режим отладки
dispatcher_heartbeat_period
целое число
Задержка, в течение которой агент отправляет пульс диспетчеру.
Значение по умолчанию Docker — 5s.
docker_host
-
По умолчанию:
"unix://var/run/docker.sock"
URL или путь к Unix-сокету, используемый для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, 'tcp://192.0.2.23:2376'. Если для шифрования соединения используется TLS, модуль автоматически заменит 'tcp' в URL соединения на 'https'.
Если значение не указано в задаче, вместо него будет использовано значение переменной окружения DOCKER_HOST. Если переменная окружения не задана, будет использовано значение по умолчанию.

псевдонимы: docker_url
election_tick
целое число
Количество тиков (в секундах), необходимых без лидера для запуска нового голосования.
Значение по умолчанию Docker — 10s.
force
логическое значение
    Варианты:
  • нет ←
  • да
Используется со значением состояния present, чтобы принудительно создать новый Swarm, даже если вы уже являетесь частью одного.
Используется со значением состояния absent, чтобы покинуть Swarm, даже если этот узел является менеджером.
heartbeat_tick
целое число
Количество тиков (в секундах) между каждым пульсом.
Значение по умолчанию Docker — 1s.
join_token
строка
Токен Swarm, используемый для присоединения к кластеру Swarm.
Используется со значением state=join.
keep_old_snapshots
целое число
Количество снимков, которые будут сохранены за пределами текущего снимка.
Значение по умолчанию Docker — 0.
key_path
-
Путь к файлу ключа TLS клиента.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH установлена, будет использован файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

псевдонимы: tls_client_key
labels
словарь
Пользовательские данные в формате ключ/значение.
Операции с метками в этом модуле применяются к кластеру Docker Swarm. Для добавления/изменения/удаления меток узлов Swarm используйте модуль docker_node.
Требуется версия API >= 1.32.
listen_addr
строка
По умолчанию:
"0.0.0.0:2377"
Адрес прослушивания, используемый для меж-менеджерного взаимодействия.
Это может быть сочетание адреса/порта в формате 192.168.1.1:4567, или интерфейс, после которого следует номер порта, как, например, eth0:4567.
Если номер порта опущен, используется порт прослушивания по умолчанию для Swarm.
log_entries_for_slow_followers
целое число
Количество записей журнала, которые будут храниться для синхронизации медленных последователей после создания снимка.
name
строка
Имя Swarm.
node_cert_expiry
целое число
Автоматическое истечение срока действия сертификатов узлов.
Значение по умолчанию Docker — 3months.
node_id
строка
Идентификатор узла Swarm, который нужно удалить.
Используется со значением state=remove.
remote_addrs
список
Удалённый адрес одного или нескольких узлов-менеджеров существующего Swarm для подключения.
Используется со значением state=join.
rotate_manager_token
логическое значение
    Варианты:
  • нет ←
  • да
Обновить токен присоединения менеджера.
rotate_worker_token
логическое значение
    Варианты:
  • нет ←
  • да
Обновить токен присоединения рабочего узла.
signing_ca_cert
строка
Желаемый сертификат CA для подписи всех TLS-сертификатов узлов Swarm в формате PEM.
Это не должен быть путь к сертификату, а содержимое сертификата.
Требуется версия API >= 1.30.
signing_ca_key
строка
Желаемый ключ CA для подписи всех TLS-сертификатов узлов Swarm в формате PEM.
Это не должен быть путь к ключу, а содержимое ключа.
Требуется версия API >= 1.30.
snapshot_interval
целое число
Количество записей журнала между снимками.
Значение по умолчанию Docker — 10000.
ssl_version
-
Укажите допустимое число версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, вместо него будет использовано значение переменной окружения DOCKER_SSL_VERSION.
state
строка / обязательно
    Варианты:
  • наличие ←
  • присоединение
  • отсутствие
  • удаление
  • инспекция
Установите значение present, чтобы создать/обновить новый кластер.
Установите значение join, чтобы присоединиться к существующему кластеру.
Установите значение absent, чтобы покинуть существующий кластер.
Установите значение remove, чтобы удалить отсутствующий узел из кластера. Обратите внимание, что для удаления требуется docker-py >= 2.4.0.
Установите значение inspect, чтобы отобразить информацию о Swarm.
END_OF_DOCUMENT_MARKER
task_history_retention_limit
целое число
Максимальное количество задач в истории.
Значение по умолчанию в Docker: 5.
timeout
-
По умолчанию:
60
Максимальное время ожидания ответа от API в секундах.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tls
логическое
    Варианты:
  • нет ←
  • да
Защитить соединение с API с помощью TLS без проверки подлинности сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tls_hostname
-
По умолчанию:
"localhost"
При проверке подлинности сервера Docker укажите ожидаемое имя сервера.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tls_verify
логическое
    Варианты:
  • нет ←
  • да
Защитить соединение с API с помощью TLS и проверить подлинность сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не установлена, будет использовано значение по умолчанию.

Примечания

Примечание

  • Подключитесь к демону Docker, предоставив параметры с каждой задачей или определив переменные окружения. Вы можете определить DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_SSL_VERSION, DOCKER_TLS, DOCKER_TLS_VERIFY и DOCKER_TIMEOUT. Если вы используете docker machine, запустите скрипт, поставляемый с продуктом, для настройки среды. Он установит эти переменные за вас. Дополнительные сведения см. в https://docker-py.readthedocs.io/en/stable/machine/.
  • При подключении к демону Docker с TLS, возможно, потребуется установить дополнительные пакеты Python. Для Docker SDK для Python версии 2.4 или более поздней это можно сделать, установив docker[tls] с помощью pip.
  • Обратите внимание, что Docker SDK для Python позволяет указать путь к конфигурации Docker только для очень немногих функций. В целом, он будет использовать $HOME/docker/config.json, если переменная окружения DOCKER_CONFIG не указана, и $DOCKER_CONFIG/config.json, в противном случае.

Примеры

- name: Init a new swarm with default parameters
  docker_swarm:
    state: present

- name: Update swarm configuration
  docker_swarm:
    state: present
    election_tick: 5

- name: Add nodes
  docker_swarm:
    state: join
    advertise_addr: 192.168.1.2
    join_token: SWMTKN-1--xxxxx
    remote_addrs: [ '192.168.1.1:2377' ]

- name: Leave swarm for a node
  docker_swarm:
    state: absent

- name: Remove a swarm manager
  docker_swarm:
    state: absent
    force: true

- name: Remove node from swarm
  docker_swarm:
    state: remove
    node_id: mynode

- name: Inspect swarm
  docker_swarm:
    state: inspect
  register: swarm_info

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращаемое значение Описание
actions
список
при ошибке выполнения действия.
Предоставляет действия, выполненные в кластере.

swarm_facts
сложное
успех
Информация о кластере.

JoinTokens
сложное
успех
Токены для подключения к кластеру.

Manager
строка
успех
Токен для создания нового узла типа manager

Worker
строка
успех
Токен для создания нового узла типа worker



Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Thierry Bouvet (@tbouvet)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/docker_swarm_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API