containers.podman.podman_pod модуль — Управление Podman контейнерами
Примечание
Этот модуль является частью коллекции containers.podman (версия 1.16.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 список / элементы=строка | Добавить хост в файл /etc/hosts, общий для всех контейнеров в подсети. |
blkio_weight строка | Относительный вес ввода-вывода блочных устройств. Вес — значение от 10 до 1000. Этот параметр не поддерживается на системах cgroups V1 rootless. |
blkio_weight_device список / элементы=строка | Относительный вес устройства ввода-вывода блочных устройств. |
cgroup_parent строка | Путь к cgroup, в котором будет создан cgroup для подсети. Если путь не абсолютный, он считается относительным к пути cgroup процесса init. Cgroups будут созданы, если они не существуют. |
строка | CPU-доли (относительный вес). |
cpus строка | Установите общее количество выделенных процессоров для подсети. По умолчанию 0,000, что указывает на отсутствие ограничения вычислительной мощности. |
cpuset_cpus строка | Ограничить поддержку выполнения процессорами. Первый процессор имеет номер 0. В отличие от `cpus`, это строка, анализируемая как список чисел. Формат: 0-3,0,1 |
cpuset_mems строка | Номера узлов памяти, в которых разрешено выполнение (0-3, 0,1). Действует только на системах NUMA. |
debug логический | Возвращает дополнительную информацию, которая может быть полезна для расследования. Варианты:
|
device список / элементы=строка | Добавить устройство хоста в подсеть. Дополнительный параметр прав может быть использован для указания прав доступа к устройству. Это сочетание r для чтения, w для записи и m для mknod(2). |
device_read_bps список / элементы=строка | Ограничить скорость чтения (байты в секунду) с устройства (например, device-read-bps=/dev/sda:1мб) |
device_write_bps список / элементы=строка | Ограничить скорость записи (в байтах в секунду) на устройство. |
dns список / элементы=строка | Установить пользовательские DNS-серверы в файл /etc/resolv.conf, который будет общим для всех контейнеров в подсети. Разрешен специальный параметр «none», который отключает создание /etc/resolv.conf для подсети. |
dns_opt псевдонимы: dns_option список / элементы=строка | Установить пользовательские параметры DNS в файл /etc/resolv.conf, который будет общим для всех контейнеров в подсети. |
dns_search список / элементы=строка | Установить пользовательские поисковые домены DNS в файл /etc/resolv.conf, который будет общим для всех контейнеров в подсети. |
executable строка | Путь к исполняемому файлу По умолчанию: |
exit_policy строка | Установите политику выхода подсети, когда завершается последний контейнер. Поддерживаемые политики: stop и continue Варианты:
|
generate_systemd словарь | Генерировать файл единицы systemd для контейнера. По умолчанию: |
|
after список / элементы=строка |
Добавить опцию systemd unit after (After=), задающую зависимости между списком зависимостей и этой службой. |
|
container_prefix строка |
Установить префикс имени единицы systemd для контейнеров. По умолчанию «container». |
|
names логический |
Использовать имена контейнеров для запуска, остановки и описания в файле единицы. По умолчанию 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 unit requires (Requires=). Аналогично wants, но объявляет более жёсткую зависимость. |
|
restart_policy string |
Укажите политику перезапуска службы. Политика перезапуска должна быть одной из «no», «on-success», «on-failure», «on-abnormal», «on-watchdog», «on-abort» или «always». По умолчанию политика «on-failure». Варианты:
|
|
restart_sec integer |
Установите значение systemd service restartsec. |
|
separator string |
Установите разделитель имени юнита systemd между именем/идентификатором контейнера/подсети и префиксом. По умолчанию «-» (тире). |
|
start_timeout integer |
Переопределите значение таймаута запуска контейнера заданным значением. |
|
stop_timeout aliases: time integer |
Переопределите значение таймаута остановки контейнера заданным значением. До версии 4 называлось «time». |
|
wants list / elements=string |
Добавьте опцию systemd unit 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 / required | Присваивает имя поду. |
network list / elements=string | Устанавливает режим сети для пода. Поддерживаемые значения: bridge (по умолчанию), host (не создавать пространство имён сети, все контейнеры в поду будут использовать сеть хоста) или список имён сетей CNI для подключения. |
network_alias aliases: network_aliases list / elements=string | Добавить псевдоним, относящийся к сети, для пода, установив псевдоним для всех сетей, к которым подключается под. Чтобы установить имя только для определённой сети, используйте параметр alias, как описано в параметре -`network`. Псевдонимы сети работают только в режиме моста. Этот параметр может быть указан несколько раз. |
no_hosts boolean | Отключить создание /etc/hosts для пода. Варианты:
|
pid string | Устанавливает режим PID для пода. По умолчанию создаётся частное пространство имён PID для пода. Требуется, чтобы пространство имён PID было общим через параметр `share`. |
pod_id_file string | Записывает ID пода в файл. |
publish aliases: ports list / elements=string | Публикует порт или диапазон портов из пода на хост. |
quadlet_dir path | Путь к каталогу для записи файла quadlet. По умолчанию он будет установлен как |
quadlet_filename string | Имя файла quadlet для записи. По умолчанию принимает значение name. |
quadlet_options list / elements=string | Параметры для файла quadlet. Предоставьте отсутствующие параметры в обычных аргументах контейнера в виде списка строк для добавления. |
recreate boolean | Использовать с состояниями present и started, чтобы принудительно пересоздать существующий под. Варианты:
|
restart_policy string | Политика перезапуска, которой нужно следовать при выходе контейнеров. |
security_opt list / elements=string | Параметры безопасности для пода. |
string | Список пространств имён ядра, разделённый запятыми, для совместного использования. Если не указано или указано “”, пространства имён не будут совместно использоваться. Пространства имён на выбор: ipc, net, pid, user, uts. |
boolean | Этот булевый параметр определяет, будут ли все контейнеры, входящие в под, использовать под в качестве родительской группы cgroup. Значение этого параметра по умолчанию в Podman — true. Варианты:
|
shm_size string | Устанавливает размер пространства общей памяти /dev/shm. Единица измерения может быть b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). Если единица измерения опущена, система использует байты. Если размер опущен, по умолчанию используется 64m. Если размер равен 0, нет ограничений на количество памяти, используемой для IPC поду. |
shm_size_systemd string | Размер монтируемых точек tmpfs, специфичных для systemd, таких как /run, /run/lock, /var/log/journal и /tmp. Единица измерения может быть b (байты), k (кибибайты), m (мебибайты) или g (гибибайты). Если единица измерения опущена, система использует байты. Если размер опущен, по умолчанию используется 64m. Если размер равен 0, использование ограничено 50 процентами доступной памяти хоста. |
состояние строка | Это переменная установлена для состояния Варианты:
|
subgidname строка | Имя для отображения GID из файла /etc/subgid. Использование этого флага запустит контейнер с включенным пространством имен пользователей. Этот флаг конфликтует с флагами `userns` и `gidmap`. |
subuidname строка | Имя для отображения UID из файла /etc/subuid. Использование этого флага запустит контейнер с включенным пространством имен пользователей. Этот флаг конфликтует с флагами `userns` и `uidmap`. |
sysctl словарь | Установить параметры ядра для подсети. |
uidmap список / элементы=строка | Запустить контейнер в новом пространстве имен пользователей, используя предоставленное отображение. Этот параметр конфликтует с параметрами `userns` и `subuidname`. Этот параметр предоставляет способ сопоставления идентификаторов пользователей хоста с идентификаторами пользователей контейнера. Его можно передавать несколько раз для отображения различных диапазонов. |
userns строка | Установить режим пространства имен пользователей для всех контейнеров в подсети. По умолчанию используется переменная среды PODMAN_USERNS. Пустое значение ("") означает, что пространства имен пользователей отключены. |
uts строка | Установить режим пространства имен UTS для подсети. |
volume псевдонимы: volumes список / элементы=строка | Создать монтирование bind. |
volumes_from список / элементы=строка | Подключить тома из указанного контейнера. |
Примеры
# 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
подсеть словарь | Результаты проверки подсети для созданной подсети. Возвращается: всегда Пример: |
Ссылки на сборку
© 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/containers/podman/podman_pod_module.html