Познакомьтесь с юнит-файлами, которые поддерживает Quadlet, и узнайте, как использовать их для развёртывания контейнеров с помощью Podman и systemd.
В статье "Как создать контейнеры один раз и запускать их везде" я показываю, что Podman 4.4 включает новый инструмент под названием Quadlet, который обеспечивает простые способы интеграции Podman и systemd. А в статье "Сделайте systemd лучше для Podman с помощью Quadlet" Дэн Уолш демонстрирует, как использовать Quadlet для развёртывания контейнеров. В этой статье я описываю все различные типы юнит-файлов, которые поддерживает Quadlet, и показываю, как их можно использовать при развёртывании контейнеров с помощью Podman и systemd.
Quadlet поддерживает следующие типы юнит-файлов:
- .container: используется для управления контейнерами с помощью запуска podman run
- .kube: используется для управления контейнерами, определёнными в файлах YAML Kubernetes, путём запуска podman kube play
- .network: используется для создания сетей Podman, на которые можно ссылаться в файлах .container или .kube
- .volume: используется для создания томов Podman, на которые можно ссылаться в файлах .container
Я буду использовать демонстрацию многоконтейнерного приложения, чтобы объяснить, как используются эти четыре типа файлов. Демонстрация основана на примере Kubernetes Развёртывание WordPress и MySQL с постоянными томами с некоторыми изменениями. Во-первых, вместо Kubernetes используются Podman и Quadlet. Во-вторых, она показывает, как запускать многоконтейнерные поды и обёртывает приложение WordPress прокси-сервером, который обрабатывает шифрование TLS.
Демонстрация призвана показать, как использовать все четыре типа файлов, поддерживаемые Quadlet. С этой целью развертывается служба базы данных с помощью файла .container, а также используется файл .kube для развёртывания приложения WordPress. В реальной жизни пользователи обычно используют файлы .container или .kube в своих развёртываниях.
Продолжение следует...
Перевод с некоторыми авторскими заголовками.
Автор оригинала: Ygal Blum (Red Hat).