Spec-Zone.ru › Ansible

community.docker.docker_network модуль — Управление сетями Docker

Примечание

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

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

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

Чтобы использовать его в книге задач, укажите: community.docker.docker_network.

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

Описание

  • Создание/удаление сетей Docker и подключение контейнеров к ним.
  • Выполняет те же функции, что и подкоманда docker network CLI.

Требования

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

  • Docker API >= 1.25
  • backports.ssl_match_hostname (при использовании TLS в Python 2)
  • paramiko (при использовании SSH с use_ssh_client=false)
  • pyOpenSSL (при использовании TLS)
  • pywin32 (при использовании именованных каналов на Windows 32)
  • requests

Параметры

Параметр

Комментарии

api_version

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

строка

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

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

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

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

appends

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

логическое

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

Используйте appends для сохранения подключенных существующих контейнеров.

Варианты:

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

attachable

логическое

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

Варианты:

  • false
  • true

ca_path

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

путь

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

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

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

client_cert

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

путь

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

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

client_key

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

путь

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

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

config_from

строка

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

Указывает конфигурационную сеть, только для использования конфигурации.

config_only

логическое

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

Устанавливает, что это сеть только для конфигурации.

Варианты:

  • false
  • true

connected

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

список / элементы=строка

Список имён или идентификаторов контейнеров для подключения к сети.

Обратите внимание, что модуль только гарантирует подключение этих контейнеров к сети, но не заботится о параметрах подключения. Если вы полагаетесь на конкретные IP-адреса и т.д., используйте модуль community.docker.docker_container, чтобы убедиться, что ваши контейнеры правильно подключены к этой сети.

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

debug

логическое

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

Варианты:

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

docker_host

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

строка

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

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

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

driver

строка

Укажите тип сети. Docker предоставляет драйверы bridge и overlay, но также можно использовать драйверы сторонних разработчиков.

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

driver_options

словарь

Словарь настроек сети. Обратитесь к документации Docker за допустимыми параметрами и значениями.

По умолчанию: {}

enable_ipv6

boolean

Включить IPv6-сетевое подключение.

Варианты:

  • false
  • true

force

boolean

В состоянии absent принудительно отключает все контейнеры от сети перед удалением сети. В состоянии present отключает все контейнеры, удаляет сеть и создаёт её заново.

Этот параметр необходим, если вы изменили параметры IPAM или драйвера и хотите обновить существующую сеть для использования новых параметров.

Варианты:

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

internal

boolean

Ограничить внешний доступ к сети.

Варианты:

  • false
  • true

ipam_config

list / elements=dictionary

Список блоков конфигурации IPAM. Обратитесь к документации Docker для получения допустимых параметров и значений. Обратите внимание, что ipam_config[].iprange здесь написан по-другому (мы используем обозначения из Docker SDK для Python).

aux_addresses

dictionary

Дополнительные IP-адреса, используемые драйвером сети, как отображение имени хоста на IP.

gateway

string

IP-адрес шлюза.

iprange

string

Диапазон IP-адресов в CIDR-нотации.

subnet

string

Подмножество IP-адресов в CIDR-нотации.

ipam_driver

string

Укажите драйвер IPAM.

ipam_driver_options

dictionary

Словарь параметров драйвера IPAM.

labels

dictionary

Словарь меток.

По умолчанию: {}

name

aliases: network_name

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

Имя сети для обработки.

scope

string

Укажите область действия сети.

Варианты:

  • "local"
  • "global"
  • "swarm"

ssl_version

string

Укажите допустимый номер версии SSL. Значение по умолчанию определяется модулем SSL Python.

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

state

string

absent удаляет сеть. Если сеть имеет подключённые контейнеры, её нельзя удалить. Используйте параметр force для отключения всех контейнеров и удаления сети.

present создаёт сеть, если она ещё не существует с указанными параметрами, и подключает список контейнеров, предоставленных параметром connected. Контейнеры, не входящие в список, будут отключены. Пустой список не будет подключать контейнеры к сети. Используйте параметр appends для оставления существующих контейнеров подключёнными. Используйте параметр force для принудительного повторного создания сети.

Варианты:

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

timeout

integer

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

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

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

tls

boolean

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

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

Варианты:

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

tls_hostname

string

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

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

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

use_ssh_client

boolean

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

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

Варианты:

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

validate_certs

aliases: tls_verify

boolean

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

check_mode

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

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

diff_mode

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

Возвратит подробную информацию о внесенных изменениях (или возможно необходимых изменениях в check_mode) при работе в режиме сравнения.

Примечания

Примечание

  • При изменении параметров сети модуль отключает все контейнеры от сети, удаляет сеть и пересоздает ее. Он не пытается повторно подключить контейнеры, за исключением тех, что перечислены в (connected), и даже для них не учитываются конкретные параметры подключения, такие как фиксированные IP-адреса или MAC-адреса. Если вам требуется больший контроль над подключением контейнеров к сети, используйте цикл модуля community.docker.docker_container для перебора контейнеров и обеспечения их правильного подключения.
  • Модуль не поддерживает Docker Swarm. Это означает, что он не будет пытаться отключить или подключить сервисы. Если сервисы подключены к сети, удаление сети завершится ошибкой. При изменении параметров сети сеть должна быть удалена и пересоздана, поэтому это также завершится ошибкой.
  • Подключитесь к демону 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 SDK для Python для связи с демоном Docker. Он использует код, полученный из Docker SDK или Python, который включен в этот сборник.

Примеры

- name: Create a network
  community.docker.docker_network:
    name: network_one

- name: Remove all but selected list of containers
  community.docker.docker_network:
    name: network_one
    connected:
      - container_a
      - container_b
      - container_c

- name: Remove a single container
  community.docker.docker_network:
    name: network_one
    connected: "{{ fulllist|difference(['container_a']) }}"

- name: Add a container to a network, leaving existing containers connected
  community.docker.docker_network:
    name: network_one
    connected:
      - container_a
    appends: true

- name: Create a network with driver options
  community.docker.docker_network:
    name: network_two
    driver_options:
      com.docker.network.bridge.name: net2

- name: Create a network with custom IPAM config
  community.docker.docker_network:
    name: network_three
    ipam_config:
      - subnet: 172.23.27.0/24
        gateway: 172.23.27.2
        iprange: 172.23.27.0/26
        aux_addresses:
          host1: 172.23.27.3
          host2: 172.23.27.4

- name: Create a network with labels
  community.docker.docker_network:
    name: network_four
    labels:
      key1: value1
      key2: value2

- name: Create a network with IPv6 IPAM config
  community.docker.docker_network:
    name: network_ipv6_one
    enable_ipv6: true
    ipam_config:
      - subnet: fdd1:ac8c:0557:7ce1::/64

- name: Create a network with IPv6 and custom IPv4 IPAM config
  community.docker.docker_network:
    name: network_ipv6_two
    enable_ipv6: true
    ipam_config:
      - subnet: 172.24.27.0/24
      - subnet: fdd1:ac8c:0557:7ce2::/64

- name: Delete a network, disconnecting all containers
  community.docker.docker_network:
    name: network_one
    state: absent
    force: true

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

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

Ключ

Описание

network

словарь

Результаты проверки сети для затронутой сети.

Возвращено: success

Пример: {}

Авторы

  • Ben Keith (@keitwb)
  • Chris Houseknecht (@chouseknecht)
  • Dave Bendit (@DBendit)

Ссылки на сборник

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

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

Spec-Zone.ru

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