Найти тему
ИТ разнообразно

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

Оглавление

Развёртываем приложение

Quadlet — это генератор systemd, устанавливаемый, как часть пакета Podman. В результате, как только Podman будет установлен, вы сможете начать использовать Quadlet.

Чтобы развернуть приложение с помощью Quadlet:

  • Копируем юнит-файлы вместе со любыми дополнительными файлами (например, файл YAML для Kubernetes, если применяется файл .kube) в следующий каталог:

- Режим с полными привилегиями (Rootful mode): /etc/containers/systemd

- Режим без доступа к root (Rootless mode): $HOME/.config/containers/systemd/

  • Запускаем генератор, вызвав:

- Режим с полными привилегиями (Rootful mode): systemctl daemon-reload

- Режим без доступа к root (Rootless mode): systemctl –user daemon-reload

  • Запускаем службы, вызвав:

- Режим с полными привилегиями (Rootful mode): systemctl start <Unit File Name>.service

- Режим без доступа к root (Rootless mode): systemctl –user start <Unit File Name>.service

Например, чтобы развернуть это демо в режиме без доступа к root, копируем все ранее определенные файлы в $HOME/.config/containers/systemd/, затем запустите службу quadlet-demo:

$ mkdir -p $HOME/.config/containers/systemd/
$ cp envoy-proxy-configmap.yml \
quadlet-demo.kube \
quadlet-demo-mysql.container \
quadlet-demo-mysql.volume \
quadlet-demo.network \
quadlet-demo.yml \
$HOME/.config/containers/systemd/
$ systemctl --user daemon-reload
$ systemctl --user start quadlet-demo.service

Примечание. Если что-то пойдет не так, systemd не сможет сказать вам, что не так с вашим юнит-файлом. Вы можете использовать /usr/libexec/podman/quadlet --dryrun, чтобы увидеть, есть ли проблема в юнит-файле.

После развёртывания демо вы можете протестировать его, перейдя в приложение WordPress: https://<Machine FDQN или IP>:8000.

Обратите внимание, что поскольку в демо используется самоподписанный сертификат, вам необходимо перейти к небезопасному соединению. Вы также можете перейти на страницу администрирования Envoy Proxy:
http://<FDQN или IP-адрес машины>:9000

Воспроизводим демо с помощью Ansible

Весь код для демонстрации можно найти на странице quadlet-demo на GitHub. Следуйте инструкциям в README, чтобы развернуть демонстрацию в вашей среде с помощью Ansible.

Заключение

Развёртывание приложений на основе контейнеров с использованием Podman и systemd проще с Quadlet. Quadlet позволяет легко развёртывать рабочие нагрузки на основе YAML-файлов Kubernetes. Вы можете использовать один и тот же структурированный язык для запуска контейнерных приложений в Kubernetes или Red Hat OpenShift, а также на пограничных устройствах без накладных расходов Kubernetes. Quadlet-файлы .volume и .network упрощают настройку томов и сетей для ваших контейнеров, запущенных с помощью Quadlet-файлов .container и .kubernetes. В этой статье приведены примеры, которые вы можете использовать в своих сценариях и расширять в соответствии с вашими потребностями.

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

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