Работа с pods#
Контейнеры — это наименьшая единица, которой можно управлять с помощью контейнерных инструментов. Pod в Podman - это группа из одного или нескольких контейнеров.
К pod относятся наименьшие вычислительные блоки. Их можно создавать, развертывать и использовать для управления в средах OpenShift или Kubernetes.
Каждый pod включает в себя контейнер infra. Он содержит namespaces, связанные с pod, и позволяет Podman подключать другие контейнеры. Это обеспечивает запуск и остановку контейнеров внутри, не прерывая работу.
Создание pods#
Создайте пустой pod:
podman pod create --name mypodПример вывода команды:
223df6b390b4ea87a090a4b5207f7b9b003187a6960bd37631ae9bc12c433aff The pod is in the initial state Created.Опционально: Раскройте список всех pod:
podman pod psПример вывода команды:
POD ID NAME STATUS CREATED # OF CONTAINERS INFRA ID 223df6b390b4 mypod Created Less than a second ago 1 3afdcd93de3eОбратите внимание, что в pod появился один контейнер.
Опционально: Выведите список всех pods и контейнеров, связанных с ними:
podman ps -a --podПример вывода команды:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD 3afdcd93de3e registry.example.ru/ubi9/pause Less than a second ago Created 223df6b390b4-infra 223df6b390b4В выводе отражено, что идентификатор pod из команды
podman psсовпадает с идентификатором pod в командеpodman pod ps. Основной контейнерinfraоснован на образеregistry.example.ru/ubi9/pause.Запустите контейнер с именем
myubiв существующем pod с именемmypod:podman run -dt --name myubi --pod mypod registry.../ubi9/ubi /bin/bashОпционально: Выведите список всех pod:
podman pod psПример вывода команды:
POD ID NAME STATUS CREATED # OF CONTAINERS INFRA ID 223df6b390b4 mypod Running Less than a second ago 2 3afdcd93de3eВ выводе отобразились два контейнера.
Опционально: Повторите команду из шага №3.
Пример вывода команды:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD 5df5c48fea87 registry.access.slo.ru/ubi9/ubi:latest /bin/bash Less than a second ago Up Less than a second ago myubi 223df6b390b4 3afdcd93de3e registry.access.slo.ru/ubi9/pause Less than a second ago Up Less than a second ago 223df6b390b4-infra 223df6b390b4
Отображение информации о pod#
Выведите информацию об активных процессах запущенных в pod:
Для раскрытия информации о работающих процессах контейнеров в pod введите:
podman pod top mypodПример вывода команды:
USER PID PPID %CPU ELAPSED TTY TIME COMMAND 0 1 0 0.000 24.077433518s ? 0s /pause root 1 0 0.000 24.078146025s pts/0 0s /bin/bashДля отображения статистики использования ресурсов для контейнеров в одном или нескольких pods введите:
podman pod stats -a --no-streamПример вывода команды:
ID NAME CPU % MEM USAGE / LIMIT MEM % NET IO BLOCK IO PIDS a9f807ffaacd frosty_hodgkin -- 3.092MB / 16.7GB 0.02% -- / -- -- / -- 2 3b33001239ee sleepy_stallman -- -- / -- -- -- / -- -- / -- --Для раскрытия информации, описывающей pod, используйте:
podman pod inspect mypodПример вывода команды:
{ "Id": "db99446fa9c6d10b973d1ce55a42a6850357e0cd447d9bac5627bb2516b5b19a", "Name": "mypod", "Created": "2020-09-08T10:35:07.536541534+02:00", "CreateCommand": [ "podman", "pod", "create", "--name", "mypod" ], "State": "Running", "Hostname": "mypod", "CreateCgroup": false, "CgroupParent": "/libpod_parent", "CgroupPath": "/libpod_parent/db99446fa9c6d10b973d1ce55a42a6850357e0cd447d9bac5627bb2516b5b19a", "CreateInfra": false, "InfraContainerID": "891c54f70783dcad596d888040700d93f3ead01921894bc19c10b0a03c738ff7", "SharedNamespaces": [ "uts", "ipc", "net" ], "NumContainers": 2, "Containers": [ { "Id": "891c54f70783dcad596d888040700d93f3ead01921894bc19c10b0a03c738ff7", "Name": "db99446fa9c6-infra", "State": "running" }, { "Id": "effc5bbcfe505b522e3bf8fbb5705a39f94a455a66fd81e542bcc27d39727d2d", "Name": "myubi", "State": "running" } ] }
Остановка pods#
Для остановки одного или нескольких pods используйте команду podman pod stop.
Остановите pod
mypod:podman pod stop mypodОпционально: Выведите список всех pods и контейнеров, связанных с ними:
podman ps -a --podПример вывода команды:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 5df5c48fea87 registry.example.ru/ubi9/ubi:latest /bin/bash About a minute ago Exited (0) 7 seconds ago myubi 223df6b390b4 mypod 3afdcd93de3e registry.example.ru/9/pause About a minute ago Exited (0) 7 seconds ago 8a4e6527ac9d-infra 223df6b390b4 mypodPod
mypodи контейнерmyubiотображаются в статусеExited.
Удаление pods#
Для удаления одного или нескольких остановленных pods и контейнеров используйте команду podman pod rm.
Удалите pod
mypod:podman pod stop mypodОбратите внимание, что при удалении pod автоматически удаляются все контейнеры внутри него.
Опционально: Убедитесь, что все контейнеры удалены:
podman psОпционально: Убедитесь, что все pods удалены:
podman pod ps