Spec-Zone.ru › Ansible

Модуль community.docker.docker_swarm_info — получение сведений о кластере Docker Swarm

Примечание

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

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

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

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

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

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

  • Получает сведения о Docker Swarm.
  • Возвращает списки имён объектов Swarm для служб: узлов, служб и задач.
  • Вывод различается в зависимости от версии API, доступной на узле Docker.
  • Модуль необходимо запускать на узле диспетчера Swarm; в противном случае он завершится с сообщением об ошибке. При ошибке и при успешном выполнении он возвращает логические флаги, указывающие, доступен ли демон Docker для связи, работает ли он в режиме Swarm и является ли узел узлом диспетчера Swarm.

Требования

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

  • Docker API >= 1.25
  • Docker SDK for Python: обратите внимание, что модуль Python docker-py заменён модулем docker (подробности см. здесь). Этот модуль не работает с docker-py.
  • Docker SDK for Python >= 2.0.0

Параметры

Параметр

Комментарии

api_version

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

string

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

По умолчанию используется последняя версия API, поддерживаемая Docker SDK for Python и демоном Docker.

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

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

ca_path

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

path

Для проверки сервера с помощью сертификата CA укажите путь к файлу сертификата CA.

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

Ранее этот параметр назывался ca_cert; в community.docker 3.6.0 его переименовали в ca_path. Старое имя добавлено как псевдоним, и его по-прежнему можно использовать.

client_cert

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

path

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

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

client_key

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

path

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

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

debug

boolean

Режим отладки.

Варианты:

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

docker_host

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

string

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

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

По умолчанию: "unix:///var/run/docker.sock"

nodes

boolean

Следует ли выводить список узлов Swarm.

Варианты:

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

nodes_filters

dictionary

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

Например, name: mynode.

Дополнительную информацию о доступных фильтрах см. в документации Docker.

services

boolean

Следует ли выводить список служб Swarm.

Варианты:

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

services_filters

dictionary

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

Например, name: myservice.

Дополнительную информацию о доступных фильтрах см. в документации Docker.

tasks

boolean

Следует ли выводить список контейнеров.

Варианты:

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

tasks_filters

dictionary

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

Например, node: mynode-1.

Дополнительную информацию о доступных фильтрах см. в документации Docker.

timeout

integer

Максимальное время ожидания ответа от API в секундах.

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

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

tls

boolean

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

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

Варианты:

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

tls_hostname

string

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

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

Обратите внимание, что в более ранних версиях для этого параметра использовалось значение по умолчанию localhost. Оно было удалено в community.docker 3.0.0.

Примечание: этот параметр больше не поддерживается в Docker SDK for Python 7.0.0+. Его указание в Docker SDK for Python версии 7.0.0 или новее приведёт к ошибке.

unlock_key

boolean

Следует ли получать ключ разблокировки Swarm.

Варианты:

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

use_ssh_client

boolean

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

Для подключений SSH используйте инструмент командной строки ssh вместо paramiko.

Требуется Docker SDK for Python версии 4.4.0 или новее.

Варианты:

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

validate_certs

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

boolean

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

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

Варианты:

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

verbose_output

boolean

Если задано значение true, а для nodes, services или tasks задано значение true, вывод модуля будет содержать подробные сведения об объектах, соответствующие полному выводу метода API.

Подробную информацию см. в документации к вашей версии Docker API по адресу https://docs.docker.com/engine/api/.

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

check_mode

Поддержка: полная

Это действие не изменяет состояние.

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

diff_mode

Поддержка: не применимо

Это действие не изменяет состояние.

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

idempotent

Поддержка: полная

Это действие не изменяет состояние.

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

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

Примечания

Примечание

  • Подключайтесь к демону 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 через TLS может потребоваться установить дополнительные пакеты Python. Для Docker SDK for Python версии 2.4 или новее их можно установить с помощью docker[tls] посредством ansible.builtin.pip.
  • Обратите внимание, что Docker SDK for Python позволяет указывать путь к конфигурации Docker лишь для немногих функций. Обычно он использует $HOME/.docker/config.json, если переменная среды DOCKER_CONFIG не задана, и $DOCKER_CONFIG/config.json в противном случае.
  • Этот модуль использует Docker SDK for Python для взаимодействия с демоном Docker.

Примеры

---
- name: Get info on Docker Swarm
  community.docker.docker_swarm_info:
  ignore_errors: true
  register: result

- name: Inform about basic flags
  ansible.builtin.debug:
    msg: |
      Was able to talk to docker daemon: {{ result.can_talk_to_docker }}
      Docker in Swarm mode: {{ result.docker_swarm_active }}
      This is a Manager node: {{ result.docker_swarm_manager }}

- name: Get info on Docker Swarm and list of registered nodes
  community.docker.docker_swarm_info:
    nodes: true
  register: result

- name: Get info on Docker Swarm and extended list of registered nodes
  community.docker.docker_swarm_info:
    nodes: true
    verbose_output: true
  register: result

- name: Get info on Docker Swarm and filtered list of registered nodes
  community.docker.docker_swarm_info:
    nodes: true
    nodes_filters:
      name: mynode
  register: result

- name: Show swarm facts
  ansible.builtin.debug:
    var: result.swarm_facts

- name: Get the swarm unlock key
  community.docker.docker_swarm_info:
    unlock_key: true
  register: result

- name: Print swarm unlock key
  ansible.builtin.debug:
    var: result.swarm_unlock_key

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

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

Ключ

Описание

can_talk_to_docker

boolean

Будет true, если модуль может взаимодействовать с демоном Docker.

Возвращается: как при успешном выполнении, так и при ошибке

docker_swarm_active

boolean

Будет true, если модуль может взаимодействовать с демоном Docker и демон Docker работает в режиме Swarm.

Возвращается: как при успешном выполнении, так и при ошибке

docker_swarm_manager

boolean

Будет true, если модуль может взаимодействовать с демоном Docker, демон Docker работает в режиме Swarm, а текущий узел является управляющим узлом.

Модуль не завершится с ошибкой, только если это значение равно true.

Возвращается: как при успешном выполнении, так и при ошибке

nodes

list / elements=dictionary

Список объектов dict, содержащих основные сведения о каждом томе. Ключи соответствуют выводу docker node ls, если не указано verbose_output=true. См. описание для verbose_output.

Возвращается: если nodes=true

services

list / elements=dictionary

Список объектов dict, содержащих основные сведения о каждом томе. Ключи соответствуют выводу docker service ls, если не указано verbose_output=true. См. описание для verbose_output.

Возвращается: если services=true

swarm_facts

dictionary

Факты, отражающие основное состояние кластера Docker Swarm.

Содержит токены для подключения к Swarm.

Возвращается: всегда

swarm_unlock_key

string

Содержит ключ, необходимый для разблокировки Swarm.

Возвращается: если unlock_key=true.

tasks

list / elements=dictionary

Список объектов dict, содержащих основные сведения о каждом томе. Ключи соответствуют выводу docker service ps, если не указано verbose_output=true. См. описание для verbose_output.

Возвращается: если tasks=true

Авторы

  • Piotr Wojciechowski (@WojciechowskiPiotr)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (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_swarm_info_module.html

Spec-Zone.ru

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