← ← ← 08/06/2025, 12:06:13 | Postado por: Danilo Maia Florenzano
Aluguei uma VPS e queria disponibilizar uma API que desenvolvi.
Optei por utilizar contêineres. A escolha do Podman foi feita considerando o objetivo de melhorar minha afinidade com a ferramenta e, também, usufruir da integração nativa com o systemd.
Para atingir um resultado satisfatório, considerando a inicialização dos contêineres no boot e a possibilidade de acompanhar logs pelo journalctl
, executei os seguintes passos:
Criei um pod com os contêineres necessários.
Gerei um arquivo YAML para Kubernetes a partir do pod:
podman generate kube xpto-pod -f /tmp/my_pod_kube.yaml
Criei um arquivo .kube
, referenciando o .yaml
gerado:
xpto-pod.kube
[Unit]
Description=Serviço XPTO
After=network-online.target
Wants=network-online.target
[Install]
WantedBy=multi-user.target
[Service]
Restart=on-failure
RestartSec=5s
TimeoutStartSec=900
[Kube]
Yaml=/tmp/my_pod_kube.yaml
PublishPort=8080:80
LogDriver=journald
SetWorkingDirectory=yaml
KubeDownForce=true
Obs: A seção
[Install]
é essencial para que o systemd inicie o pod automaticamente no boot.
Movi o arquivo para a pasta correta:
sudo mv xpto-pod.kube /etc/containers/systemd/
Recarreguei os serviços do systemd:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
Finalizado! Para verificar se o serviço está em execução:
systemctl status xpto-pod.service
Continuo explorando formas de usar o Podman e suas ferramentas e integrações.
Fontes que utilizei para alcançar esse resultado: