Модуль containers.podman.podman_pod — управление подами Podman
Примечание
Этот модуль входит в коллекцию containers.podman (версия 1.20.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install containers.podman. Для использования этого модуля необходимы дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: containers.podman.podman_pod.
Новое в containers.podman 1.0.0
Краткое описание
- Управление подами Podman.
Требования
Следующие компоненты должны быть установлены на хосте, на котором выполняется этот модуль.
- podman
Параметры
Параметр | Комментарии |
|---|---|
add_host list / elements=string | Добавить хост в файл /etc/hosts, общий для всех контейнеров в поде. |
blkio_weight string | Относительный вес блочного ввода-вывода. Вес — это значение от 10 до 1000. Этот параметр не поддерживается в системах без прав root с cgroups V1. |
blkio_weight_device list / elements=string | Относительный вес блочного ввода-вывода для устройства. |
cgroup_parent string | Путь к cgroups, в которых будет создана cgroup для пода. Если путь не абсолютный, он считается относительным к пути cgroups процесса init. Если cgroups ещё не существуют, они будут созданы. |
string | Доли ЦП (относительный вес). |
cpus string | Задать общее количество ЦП, выделенных поду. Значение по умолчанию — 0.000, что означает отсутствие ограничения вычислительной мощности. |
cpuset_cpus string | Ограничить ЦП, на которых разрешено выполнение. Нумерация ЦП начинается с 0. В отличие от `cpus`, этот параметр имеет тип string и разбирается как список чисел. Формат: 0-3,0,1 |
cpuset_mems string | Узлы памяти, на которых разрешено выполнение (0-3, 0,1). Действует только в системах NUMA. |
debug boolean | Возвращать дополнительные сведения, которые могут быть полезны при расследовании проблем. Возможные значения:
|
device list / elements=string | Добавить устройство хоста в под. Необязательный параметр разрешений позволяет задать разрешения для устройства. Это сочетание r для чтения, w для записи и m для mknod(2) |
device_read_bps list / elements=string | Ограничить скорость чтения с устройства (байт в секунду), например device-read-bps=/dev/sda:1mb |
device_write_bps list / elements=string | Ограничить скорость записи на устройство (в байтах в секунду). |
dns list / elements=string | Задать пользовательские DNS-серверы в файле /etc/resolv.conf, общем для всех контейнеров в поде. Разрешён специальный параметр «none», который отключает создание /etc/resolv.conf для пода. |
dns_opt псевдонимы: dns_option list / elements=string | Задать пользовательские параметры DNS в файле /etc/resolv.conf, общем для всех контейнеров в поде. |
dns_search list / elements=string | Задать пользовательские домены поиска DNS в файле /etc/resolv.conf, общем для всех контейнеров в поде. |
executable string | Путь к исполняемому файлу По умолчанию: |
exit_policy string | Задать политику завершения пода после выхода последнего контейнера. Поддерживаются политики stop и continue Возможные значения:
|
generate_systemd dictionary | Создать файл модуля systemd для контейнера. По умолчанию: |
|
after list / elements=string |
Добавить параметр модуля systemd after (After=), задающий порядок относительно списка зависимостей для этой службы. |
|
container_prefix string |
Задать префикс имени модуля systemd для контейнеров. По умолчанию используется «container». |
|
names boolean |
Использовать имена контейнеров в параметрах запуска, остановки и описания файла модуля. По умолчанию — true. Возможные значения:
|
|
new boolean |
Создавать контейнеры и поды при запуске модуля, а не рассчитывать на то, что они уже существуют. Значение по умолчанию — «false». Дополнительные сведения см. в podman-generate-systemd(1). Возможные значения:
|
|
no_header boolean |
Не создавать заголовок с метаданными, например версией Podman и временной меткой. Доступно начиная с версии Podman 3.1.0. Возможные значения:
|
|
path string |
Указать путь к каталогу, в котором будут созданы файлы модулей. Этот параметр обязателен. Если каталога не существует, он будет создан. |
|
pod_prefix string |
Задать префикс имени модуля systemd для подов. По умолчанию используется «pod». |
|
requires list / elements=string |
Задать параметр модуля systemd requires (Requires=). Аналогичен wants, но объявляет более строгую зависимость. |
|
restart_policy string |
Указать политику перезапуска службы. Политика перезапуска должна быть одной из следующих: «no», «on-success», «on-failure», «on-abnormal», «on-watchdog», «on-abort» или «always». По умолчанию используется политика «on-failure». Возможные значения:
|
|
restart_sec integer |
Задать значение restartsec для службы systemd. |
|
separator string |
Задать разделитель имени модуля systemd между именем/идентификатором контейнера/пода и префиксом. По умолчанию используется «-» (дефис). |
|
start_timeout integer |
Переопределить значение времени ожидания запуска контейнера значением этого параметра. |
|
stop_timeout псевдонимы: time integer |
Переопределить значение времени ожидания остановки контейнера значением этого параметра. До версии 4 параметр назывался `time`. |
|
wants list / elements=string |
Добавить параметр модуля systemd wants (Wants=), указывающий на (нестрогую) зависимость этой службы. |
gidmap list / elements=string | Карта GID для пользовательского пространства имён. При использовании этого параметра контейнер запускается с включённым пользовательским пространством имён. Несовместим с параметрами `userns` и `subgidname`. |
gpus string | Устройства GPU, добавляемые в контейнер («all» для передачи всех GPU). |
hostname string | Задать имя хоста для пода |
infra boolean | Создать инфраструктурный контейнер и связать его с подом. Инфраструктурный контейнер — это облегчённый контейнер, используемый для координации общего пространства имён ядра пода. По умолчанию — true. Возможные значения:
|
infra_command string | Команда, запускаемая для запуска инфраструктурного контейнера. По умолчанию — «/pause». |
infra_conmon_pidfile string | Записать PID процесса conmon инфраструктурного контейнера в файл. Так как conmon работает в отдельном процессе, а не в Podman, это необходимо при использовании systemd для управления контейнерами и подами Podman. |
infra_image string | Образ, используемый для создания инфраструктурного контейнера. По умолчанию — «k8s.gcr.io/pause:3.1». |
infra_name string | Имя, используемое для инфраструктурного контейнера пода. |
ip string | Задать статический IP-адрес для общей сети пода. |
ip6 string | Задать статический IPv6-адрес для общей сети пода. |
label dictionary | Добавить метаданные к поду, передав словарь с ключами и значениями меток. |
label_file string | Прочитать файл меток, разделённых символами новой строки. |
mac_address string | Задать статический MAC-адрес для общей сети пода. |
memory string | Задать ограничение памяти. В качестве единицы измерения можно указать b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). |
memory_swap string | Задать ограничение, равное сумме памяти и пространства подкачки. В качестве единицы измерения можно указать b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). |
name string / обязательный | Назначить имя поду. |
network list / elements=string | Задать режим сети для пода. Поддерживаются значения bridge (по умолчанию), host (не создавать пространство имён сети; все контейнеры в поде будут использовать сеть хоста) или список имён сетей CNI, к которым следует подключиться. |
network_alias псевдонимы: network_aliases list / elements=string | Добавить сетевой псевдоним для пода, задав его для всех сетей, к которым подключается под. Чтобы задать имя только для конкретной сети, используйте параметр alias, описанный в разделе параметра -`network`. Сетевые псевдонимы работают только в режиме bridge. Этот параметр можно указывать несколько раз. |
no_hosts boolean | Отключить создание /etc/hosts для пода. Возможные значения:
|
pid string | Задать режим PID для пода. По умолчанию для пода создаётся закрытое пространство имён PID. Для этого требуется, чтобы пространство имён PID совместно использовалось через параметр `share`. |
pod_id_file string | Записать идентификатор пода в файл. |
publish псевдонимы: ports list / elements=string | Опубликовать порт или диапазон портов пода на хосте. |
quadlet_dir path | Путь к каталогу для записи файла quadlet. По умолчанию для пользователя root используется |
quadlet_file_mode any | Права доступа к файлу quadlet. Значение Если Если Указание |
quadlet_filename string | Имя создаваемого файла quadlet. По умолчанию используется значение name. |
quadlet_options list / elements=string | Параметры для файла Quadlet. Передайте отсутствующие в обычных аргументах контейнера параметры списком строк для добавления. |
recreate boolean | Используйте с состояниями present и started, чтобы принудительно пересоздать существующий pod. Варианты:
|
restart_policy string | Политика перезапуска, применяемая при завершении работы контейнеров. |
security_opt list / elements=string | Параметры безопасности для pod. |
string | Список пространств имён ядра, разделённых запятыми, для совместного использования. Если указано none или «», пространства имён не будут использоваться совместно. Доступны пространства имён ipc, net, pid, user, uts. |
boolean | Этот логический параметр определяет, будут ли все контейнеры, входящие в pod, использовать pod в качестве родительской группы cgroup. В Podman значение этого параметра по умолчанию — true. Варианты:
|
shm_size string | Задаёт размер области разделяемой памяти /dev/shm. В качестве единицы измерения можно указать b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). Если единица измерения не указана, система использует байты. Если размер не указан, по умолчанию используется 64m. Если размер равен 0, объём памяти, используемой pod для IPC, не ограничен. |
shm_size_systemd string | Размер специфичных для systemd монтирований tmpfs, таких как /run, /run/lock, /var/log/journal и /tmp. В качестве единицы измерения можно указать b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). Если единица измерения не указана, система использует байты. Если размер не указан, по умолчанию используется 64m. Если размер равен 0, использование ограничивается 50 процентами доступной памяти хоста. |
state string | Эта переменная задаёт состояние Варианты:
|
subgidname string | Имя для сопоставления GID из файла /etc/subgid. Использование этого флага запускает контейнер с включённым пространством имён пользователя. Этот флаг несовместим с `userns` и `gidmap`. |
subuidname string | Имя для сопоставления UID из файла /etc/subuid. Использование этого флага запускает контейнер с включённым пространством имён пользователя. Этот флаг несовместим с `userns` и `uidmap`. |
sysctl dictionary | Задаёт параметры ядра для pod. |
uidmap list / elements=string | Запускает контейнер в новом пространстве имён пользователя с указанным сопоставлением. Этот параметр несовместим с параметрами `userns` и `subuidname`. Он позволяет сопоставлять UID хоста с UID контейнера. Параметр можно передавать несколько раз для сопоставления разных диапазонов. |
userns string | Задаёт режим пространства имён пользователя для всех контейнеров в pod. По умолчанию используется значение переменной окружения PODMAN_USERNS. Пустое значение («») означает, что пространства имён пользователя отключены. |
uts string | Задаёт режим пространства имён UTS для pod. |
volume псевдонимы: volumes list / elements=string | Создаёт монтирование привязки. |
volumes_from list / elements=string | Монтирует тома из указанного контейнера. |
Примеры
# What modules does for example
- containers.podman.podman_pod:
name: pod1
state: started
ports:
- "4444:5555"
# Connect random port from localhost to port 80 on pod2
- name: Connect random port from localhost to port 80 on pod2
containers.podman.podman_pod:
name: pod2
state: started
publish: "127.0.0.1::80"
# Full workflow example with pod and containers
- name: Create a pod with parameters
containers.podman.podman_pod:
name: mypod
state: created
network: host
share: net
userns: auto
security_opt:
- seccomp=unconfined
- apparmor=unconfined
hostname: mypod
dns:
- 1.1.1.1
volumes:
- /tmp:/tmp/:ro
label:
key: cval
otherkey: kddkdk
somekey: someval
add_host:
- "google:5.5.5.5"
- name: Create containers attached to the pod
containers.podman.podman_container:
name: "{{ item }}"
state: created
pod: mypod
image: alpine
command: sleep 1h
loop:
- "container1"
- "container2"
- name: Start pod
containers.podman.podman_pod:
name: mypod
state: started
network: host
share: net
userns: auto
security_opt:
- seccomp=unconfined
- apparmor=unconfined
hostname: mypod
dns:
- 1.1.1.1
volumes:
- /tmp:/tmp/:ro
label:
key: cval
otherkey: kddkdk
somekey: someval
add_host:
- "google:5.5.5.5"
# Create a Quadlet file for a pod
- containers.podman.podman_pod:
name: qpod
state: quadlet
ports:
- "4444:5555"
volume:
- /var/run/docker.sock:/var/run/docker.sock
quadlet_dir: /custom/dir
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
pod dictionary | Результаты проверки созданного pod. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_pod_module.html