Spec-Zone.ru › Ansible

Модуль containers.podman.podman_network — управление сетями Podman

Примечание

Этот модуль входит в коллекцию containers.podman (версия 1.20.1).

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

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

Чтобы использовать модуль в плейбуке, укажите: containers.podman.podman_network.

Добавлено в containers.podman 1.0.0

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

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

  • Управление сетями Podman с помощью команды podman network.

Требования

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

  • podman
  • ipaddress (для проверок идемпотентности ip_range)

Параметры

Параметр

Комментарии

debug

boolean

Возвращать дополнительную информацию, которая может быть полезна при расследовании проблем.

Варианты:

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

disable_dns

boolean

Отключить плагин DNS (по умолчанию «false»).

Варианты:

  • false
  • true

dns

list / elements=string

Задать DNS-резолвер/сервер имен для контейнеров в этой сети. Если значение не задано, используются серверы хоста из /etc/resolv.conf.

driver

string

Драйвер для управления сетью (по умолчанию «bridge»).

executable

string

Путь к исполняемому файлу podman, если он отсутствует в $PATH на машине, где выполняется podman

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

force

boolean

Удалить все контейнеры, использующие эту сеть. Если контейнер запущен, он будет остановлен и удален.

Варианты:

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

gateway

string

Шлюз IPv4 или IPv6 для подсети

interface_name

string

Для bridge используется имя интерфейса моста. Для macvlan указывается родительское устройство на хосте (то же, что и ‘opt.parent’).

internal

boolean

Ограничить внешний доступ из этой сети (по умолчанию «false»).

Варианты:

  • false
  • true

ip_range

string

Выделять IP-адреса контейнеров из диапазона

ipam_driver

string

Задать драйвер IPAM (драйвер управления IP-адресами) для сети. Если значение не задано, Podman автоматически выбирает драйвер IPAM на основе драйвера сети.

Варианты:

  • "host-local"
  • "dhcp"
  • "none"

ipv6

boolean

Включить поддержку IPv6 (двухстековую сеть). Необходимо указать подсеть IPv6. Параметр subnet следует использовать вместе с параметром ipv6. Идемпотентность не поддерживается, поскольку подсети генерируются случайным образом.

Варианты:

  • false
  • true

macvlan

string

Создать подключение Macvlan на основе этого устройства

name

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

Имя сети

net_config

list / elements=dictionary

Список словарей с конфигурацией сети. Каждый словарь должен содержать ключи ‘subnet’ и ‘gateway’. Ключ ‘ip_range’ является необязательным.

gateway

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

Шлюз для подсети

ip_range

string

Выделять IP-адреса контейнеров из диапазона

subnet

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

Подсеть в формате CIDR

opt

dictionary

Добавить параметры сети. В настоящее время поддерживаются ‘vlan’ и ‘mtu’.

bclim

integer

Задать порог для очереди широковещательных пакетов. Значение должно быть 32-битным целым числом. Значение -1 полностью отключает очередь широковещательных пакетов.

bridge_name

string

Этот параметр задает имя создаваемого моста Linux. Устанавливает параметр ‘com.docker.network.bridge.name’.

driver_mtu

string

Задает максимальный размер передаваемого блока (MTU) целым числом. Устанавливает параметр ‘com.docker.network.driver.mtu’.

isolate

boolean

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

Варианты:

  • false
  • true

metric

integer

Задает метрику маршрута для маршрута по умолчанию, создаваемого в каждом контейнере, подключенном к этой сети. Можно использовать только с сетевым сервером Netavark.

mode

string

Этот параметр задает для интерфейса указанный режим ip/macvlan.

mtu

integer

Размер MTU интерфейса мостовой сети.

no_default_route

string

Если задано значение 1, Podman НЕ будет автоматически добавлять маршрут по умолчанию к подсетям.

parent

string

Устройство хоста, используемое для интерфейса macvlan (в этом случае оно совпадает с ‘interface’). По умолчанию используется интерфейс маршрута по умолчанию.

vlan

integer

Тег VLAN для моста, включающий vlan_filtering.

vrf

string

Этот параметр назначает VRF интерфейсу моста. Принимает имя VRF; по умолчанию не задан. Можно использовать только с сетевым сервером Netavark.

quadlet_dir

path

Путь к каталогу, в который следует записать файл quadlet. По умолчанию для пользователя root используется /etc/containers/systemd/, а для пользователей без прав root — ~/.config/containers/systemd/.

quadlet_file_mode

any

Права доступа к файлу quadlet.

Значение quadlet_file_mode можно указать в виде восьмеричного числа или символьного режима (например, u+rwx или u=rw,g=r,o=r). Для восьмеричного формата необходимо добавить ведущий ноль, чтобы YAML-парсер Ansible распознал восьмеричное число (например, 0644 или 01777), либо заключить значение в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал ее в число. Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет воспринято как десятичное, что приведет к неожиданным результатам.

Если quadlet_file_mode не задан и файл quadlet не существует, при установке режима для нового файла будет использоваться маска '0640' по умолчанию.

Если quadlet_file_mode не задан и файл quadlet существует, будет использоваться режим существующего файла.

Указание quadlet_file_mode — лучший способ гарантировать создание файлов с правильными правами доступа.

quadlet_filename

string

Имя записываемого файла quadlet. По умолчанию используется значение name.

quadlet_options

list / elements=string

Параметры файла quadlet. Передайте отсутствующие среди обычных аргументов сети параметры в виде списка строк для добавления.

recreate

boolean

Пересоздать сеть, даже если она уже существует.

Варианты:

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

route

list / elements=string

Статический маршрут в формате <назначение в нотации CIDR>,<шлюз>,<метрика маршрута (необязательно)>. Этот маршрут будет добавлен во все контейнеры в этой сети.

state

string

Состояние сети, по умолчанию ‘present’

Варианты:

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

subnet

string

Подсеть в формате CIDR

Примеры

- name: Create a podman network
  containers.podman.podman_network:
    name: podman_network
  become: true

- name: Create internal podman network
  containers.podman.podman_network:
    name: podman_internal
    internal: true
    ip_range: 192.168.22.128/25
    subnet: 192.168.22.0/24
    gateway: 192.168.22.1
  become: true

- name: Create Quadlet file for podman network
  containers.podman.podman_network:
    name: podman_network
    state: quadlet
    quadlet_options:
      - IPv6=true
      - Label="ipv6 network"

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

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

Ключ

Описание

network

list / elements=string

Факты о созданных или обновленных сетях

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

Пример: [{"created": "2024-07-13T15:43:36.548472483+03:00", "dns_enabled": true, "driver": "bridge", "id": "3f46dc2626fe082b1ec703bc74d048765c1110c9eab7d61e33344e212279402c", "internal": false, "ipam_options": {"driver": "host-local"}, "ipv6_enabled": false, "name": "virtuals", "network_interface": "podman2", "subnets": [{"gateway": "10.99.99.1", "subnet": "10.99.99.0/24"}]}]

Авторы

  • Sagi Shnaidman (@sshnaidm)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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/containers/podman/podman_network_module.html

Spec-Zone.ru

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