Развёртываем приложение
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).