Spec-Zone.ru › Ansible 2.10

community.general.docker_node – Управление узлом Docker Swarm

Примечание

Этот плагин входит в состав коллекции community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.docker_node.

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

Описание

  • Управляет узлами Docker через менеджер Swarm.
  • Этот модуль позволяет изменить роль узла, его доступность и изменить, добавить или удалить метки узла.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_version
строка
Значение по умолчанию:
"auto"
Версия API Docker, работающего на хосте Docker.
По умолчанию используется последняя версия API, поддерживаемая Docker SDK для Python и демоном docker.
Если значение не указано в задаче, используется значение переменной среды DOCKER_API_VERSION. Если переменная среды не задана, используется значение по умолчанию.

алиасы: docker_api_version
availability
строка
    Варианты:
  • active
  • pause
  • drain
Доступность узла для назначения. Если не указано, доступность узла остается неизменной.
ca_cert
путь
Используйте сертификат CA при проверке подлинности сервера, указав путь к файлу сертификата CA.
Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH установлена, используется файл ca.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

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

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

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

алиасы: docker_url
hostname
строка / обязательно
Имя хоста или идентификатор узла, зарегистрированного в Swarm.
Если более одного узла зарегистрированы с одинаковым именем хоста, необходимо использовать ID, в противном случае модуль завершится с ошибкой.
labels
словарь
Пользовательские метаданные ключ/значение, которые будут назначены как атрибут узла.
Операции с метками в этом модуле применяются к узлу Docker Swarm, указанному параметром hostname. Используйте модуль community.general.docker_swarm для добавления/изменения/удаления меток кластера Swarm.
Фактическое состояние меток, назначенных узлу после выполнения модуля, зависит от значений параметров labels_state и labels_to_remove. См. описание ниже.
labels_state
строка
    Варианты:
  • merge ←
  • replace
Определяет операцию над метками, назначенными узлу, и метками, указанными в параметре labels.
Установите значение merge для объединения меток, указанных в параметре labels, с уже назначенными метками узла. Если метки не назначены, будут добавлены перечисленные метки. Для меток, уже назначенных узлу, будет обновлено их значение. Метки, не указанные в параметре labels, останутся неизменными. Если параметр labels пуст, никаких изменений не будет.
Установите значение replace для замены всех назначенных меток указанными. Если параметр labels пуст, все метки, назначенные узлу, будут удалены.
labels_to_remove
список / элементы=строка
Список меток, которые будут удалены из конфигурации узла. Список должен содержать только имена меток, а не их значения.
Если метка из списка не назначена узлу, запись игнорируется.
Если метка присутствует как в параметре labels_to_remove, так и в labels, значение из labels останется назначенным узлу.
Если параметр labels_state имеет значение replace, а labels не указан или пуст, все метки, назначенные узлу, удаляются, и labels_to_remove игнорируется.
role
строка
    Варианты:
  • manager
  • worker
Роль узла для назначения. Если не указано, роль узла остается неизменной.
ssl_version
строка
Укажите допустимый номер версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, используется значение переменной среды DOCKER_SSL_VERSION.
timeout
целое число
Значение по умолчанию:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задаче, используется значение переменной среды DOCKER_TIMEOUT. Если переменная среды не задана, используется значение по умолчанию.
tls
логический
    Варианты:
  • нет ←
  • да
Защитите соединение с API с помощью TLS без проверки подлинности хоста Docker. Обратите внимание, что если параметр validate_certs также установлен в yes, он будет иметь приоритет.
Если значение не указано в задаче, используется значение переменной среды DOCKER_TLS. Если переменная среды не задана, используется значение по умолчанию.
tls_hostname
строка
Значение по умолчанию:
"localhost"
При проверке подлинности хоста Docker укажите ожидаемое имя сервера.
Если значение не указано в задаче, используется значение переменной среды DOCKER_TLS_HOSTNAME. Если переменная среды не задана, используется значение по умолчанию.
validate_certs
логический
    Варианты:
  • нет ←
  • да
Защитите соединение с API с помощью TLS и проверьте подлинность хоста Docker.
Если значение не указано в задаче, используется значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, используется значение по умолчанию.

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

Примеры

- name: Set node role
  community.general.docker_node:
    hostname: mynode
    role: manager

- name: Set node availability
  community.general.docker_node:
    hostname: mynode
    availability: drain

- name: Replace node labels with new labels
  community.general.docker_node:
    hostname: mynode
    labels:
      key: value
    labels_state: replace

- name: Merge node labels and new labels
  community.general.docker_node:
    hostname: mynode
    labels:
      key: value

- name: Remove all labels assigned to node
  community.general.docker_node:
    hostname: mynode
    labels_state: replace

- name: Remove selected labels from the node
  community.general.docker_node:
    hostname: mynode
    labels_to_remove:
      - key1
      - key2

Значения возврата

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

Ключ Возвращаемое значение Описание
node
словарь
успех
Информация о узле после операции 'update'



Авторы

  • Piotr Wojciechowski (@WojciechowskiPiotr)
  • 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.10/collections/community/general/docker_node_module.html

Spec-Zone.ru

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