Spec-Zone.ru › Ansible

Модуль community.docker.docker_stack — модуль docker stack

Примечание

Этот модуль входит в коллекцию community.docker (версия 5.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.docker. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.docker.docker_stack.

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

Краткое описание

  • Управление стеками Docker с помощью команды docker stack на целевом узле (см. примеры).

Требования

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

  • Инструмент Docker CLI docker
  • jsondiff
  • pyyaml

Параметры

Параметр

Комментарии

absent_retries

integer

Если значение больше 0 и state=absent, модуль повторит попытку удаления стека до absent_retries раз, пока все ресурсы не будут фактически удалены. Если при последней попытке стек всё ещё будет отмечен как не полностью удалённый, модуль завершится с ошибкой.

По умолчанию: 0

absent_retries_interval

integer

Интервал в секундах между последовательными absent_retries.

По умолчанию: 1

api_version

псевдонимы: docker_api_version

string

добавлено в community.docker 3.6.0

Версия Docker API, работающая на узле Docker.

По умолчанию используется последняя версия API, поддерживаемая этой коллекцией и демоном Docker.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_API_VERSION. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: "auto"

ca_path

псевдонимы: ca_cert, tls_ca_cert, cacert_path

path

добавлено в community.docker 3.6.0

Используйте сертификат ЦС при проверке сервера, указав путь к файлу сертификата ЦС.

Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH задана, будет использован файл ca.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

cli_context

string

добавлено в community.docker 3.6.0

Контекст Docker CLI, который следует использовать.

Несовместим с docker_host.

client_cert

псевдонимы: tls_client_cert, cert_path

path

добавлено в community.docker 3.6.0

Путь к файлу сертификата TLS клиента.

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

client_key

псевдонимы: tls_client_key, key_path

path

добавлено в community.docker 3.6.0

Путь к файлу ключа TLS клиента.

Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH задана, будет использован файл key.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

compose

list / элементы=any

Список определений compose. Каждый элемент может быть строкой, указывающей путь к файлу compose на целевом узле, либо YAML-содержимым файла compose, вложенным в виде словаря.

По умолчанию: []

detach

boolean

добавлено в community.docker 4.1.0

Если false, параметр --detach=false добавляется к команде docker stack deploy, позволяя Docker дождаться завершения сходимости задач перед выходом.

Если true (по умолчанию), Docker завершается немедленно, не дожидаясь сходимости задач.

Варианты:

  • false
  • true ← (по умолчанию)

docker_cli

path

добавлено в community.docker 3.6.0

Путь к Docker CLI. Если он не указан, поиск Docker CLI будет выполнен в PATH.

docker_host

псевдонимы: docker_url

string

добавлено в community.docker 3.6.0

URL или путь к сокету Unix для подключения к Docker API. Для подключения к удалённому узлу укажите строку TCP-подключения. Например, tcp://192.0.2.23:2376. Если для шифрования подключения используется TLS, модуль автоматически заменит tcp в URL подключения на https.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_HOST. Если переменная среды не задана, будет использовано значение по умолчанию.

Несовместим с cli_context. Если не указаны ни docker_host, ни cli_context, используется значение unix:///var/run/docker.sock.

name

string / обязательный

Имя стека.

prune

boolean

Если значение равно true, к команде docker stack deploy будет добавлен параметр --prune. Это заставит Docker удалить службы, отсутствующие в текущем определении стека.

Варианты:

  • false ← (по умолчанию)
  • true

resolve_image

string

Если значение задано, к команде docker stack deploy будет добавлен параметр --resolve-image. Это заставит Docker обратиться к реестру, чтобы определить дайджест образа и поддерживаемые платформы. Если значение не задано, Docker по умолчанию использует «always».

Варианты:

  • "always"
  • "changed"
  • "never"

state

string

Состояние службы.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tls

boolean

добавлено в community.docker 3.6.0

Защитите подключение к API с помощью TLS без проверки подлинности сервера узла Docker. Обратите внимание: если для validate_certs также задано значение true, этот параметр будет иметь приоритет.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

tls_hostname

string

добавлено в community.docker 3.6.0

При проверке подлинности сервера узла Docker укажите ожидаемое имя сервера.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS_HOSTNAME. Если переменная среды не задана, будет использовано значение по умолчанию.

validate_certs

псевдонимы: tls_verify

boolean

добавлено в community.docker 3.6.0

Защитите подключение к API с помощью TLS и проверки подлинности сервера узла Docker.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

with_registry_auth

boolean

Если значение равно true, к команде docker stack deploy будет добавлен параметр --with-registry-auth. Это заставит Docker передавать агентам Swarm данные аутентификации реестра.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группы действий: community.docker.docker, docker

добавлено в community.docker 3.6.0

Используйте group/docker или group/community.docker.docker в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: none

Может выполняться в режиме check_mode и возвращать прогноз изменения статуса без изменения целевого узла.

diff_mode

Поддержка: none

В режиме сравнения изменений возвращает сведения об изменениях (или о том, что, возможно, требуется изменить в check_mode).

idempotent

Поддержка: full

При повторном запуске подряд вне режима проверки с теми же аргументами второй вызов сообщает об отсутствии изменений.

Предполагается, что система, которой управляет модуль или состояние которой он запрашивает, не изменилась существенным образом.

Примечания

Примечание

  • Подключайтесь к демону Docker, передавая параметры в каждой задаче или задавая переменные среды. Можно задать DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_TLS, DOCKER_TLS_VERIFY и DOCKER_TIMEOUT. Если вы используете docker machine, запустите поставляемый с продуктом скрипт, который настраивает среду. Он задаст эти переменные за вас. Подробности см. на странице https://docs.docker.com/machine/reference/env/.
  • Этот модуль не использует Docker SDK for Python для взаимодействия с демоном Docker. Он напрямую вызывает программу Docker CLI.

Примеры

---
- name: Deploy stack from a compose file
  community.docker.docker_stack:
    state: present
    name: mystack
    compose:
      - /opt/docker-compose.yml

- name: Deploy stack from base compose file and override the web service
  community.docker.docker_stack:
    state: present
    name: mystack
    compose:
      - /opt/docker-compose.yml
      - version: '3'
        services:
          web:
            image: nginx:latest
            environment:
              ENVVAR: envvar

- name: Remove stack
  community.docker.docker_stack:
    name: mystack
    state: absent

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

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

Ключ

Описание

stack_spec_diff

dictionary

Словарь с различиями между полем «Spec» служб стека до и после применения нового определения стека.

Возвращается: при изменении

Пример: "\"stack_spec_diff\": {'test_stack_test_service': {'TaskTemplate': {'ContainerSpec': {delete: ['Env']}}}}\n"

Авторы

  • Dario Zanzico (@dariko)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (Docker)
  • Запросить помощь (Docker Compose)
  • Запросить помощь (Docker Swarm)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/docker_stack_module.html

Spec-Zone.ru

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