Найти в Дзене
ИТ разнообразно

Развёртывание мультиконтейнерного приложения с использованием Podman и Quadlet. Часть 3.

Создание сети Podman

Чтобы обеспечить связь между различными контейнерами, создаём сеть Podman с помощью файла .network. В этом примере называем файл quadlet-demo.network. Вы будете ссылаться на этот файл позже в файлах базы данных .container и WordPress пода .kube.

[Network]
Subnet=192.168.30.0/24
Gateway=192.168.30.1
Label=app=wordpress

Демонстрация не обязательно требует настройки сети, но её использование предоставляет некоторые важные возможности:

  • установка адреса подсети сети и адреса шлюза
  • настройка метки

Развёртываем сервер базы данных

В демонстрации Kubernetes серверу базы данных требуется постоянный том, который транслируется в том Podman, созданный с помощью файла .volume. В этом примере используйте имя quadlet-demo-mysql.volume:

[Volume]

Демонстрация не требует дополнительной настройки тома.

Чтобы запустить сервер базы данных, используем следующий файл .container с именем quadlet-demo-mysql.container:

[Install]
WantedBy=default.target
[Container]
Image=docker.io/library/mysql:5.6
ContainerName=quadlet-demo-mysql
Volume=quadlet-demo-mysql.volume:/var/lib/mysql
Network=quadlet-demo.network
# Once 4.5 is released change this line to use the quadlet Secret key
PodmanArgs=--secret=mysql-root-password-container,type=env,target=MYSQL_ROOT_PASSWORD

Раздел Container устанавливает следующие ключи:

Image: используем официальный образ mysql

ContainerName: задаём имя контейнера, позволяющее сети найти его с помощью DNS

Volume: устанавливаем источник тома в качестве ранее определённого файла .volume, указав Quadlet создать зависимость systemd между юнит-файлами

Network: устанавливаем имя сети в ранее определённом файле .network, предписывая Quadlet создать зависимость systemd между юнит-файлами

PodmanArgs: используем значение из секрета в качестве значения переменной целевой среды

Обратите внимание, что в этой демонстрации используется Podman v4.4.x, в котором Quadlet ещё не поддерживает ключ Secret. После выпуска Podman 4.5 вы можете заменить ключ PodmanArgs на ключ Secret следующим образом:

Secret=mysql-root-password-container,type=env,target=MYSQL_ROOT_PASSWORD

Продолжение следует...

Перевод с некоторыми авторскими заголовками.

Автор оригинала: Ygal Blum (Red Hat).