DEV Community

Danilo Maia Florenzano
Danilo Maia Florenzano

Posted on

Podman com Quadlets em produção

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:


  1. Criei um pod com os contêineres necessários.

  2. Gerei um arquivo YAML para Kubernetes a partir do pod:

    podman generate kube xpto-pod -f /tmp/my_pod_kube.yaml
    
  3. 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.

  4. Movi o arquivo para a pasta correta:

    sudo mv xpto-pod.kube /etc/containers/systemd/
    
  5. Recarreguei os serviços do systemd:

    sudo systemctl daemon-reexec
    sudo systemctl daemon-reload
    
  6. 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:

Top comments (2)

Collapse
 
andredarcie profile image
André N. Darcie

Grande mestre Danilo, compartilhando todo o seu conhecimento! Curti demais o post!
Achei muito legal a forma como você integrou tudo com o systemd — ficou direto ao ponto e fácil de seguir.
Mandou bem demais! Valeu por compartilhar! 👊

Collapse
 
daniloflorenzano profile image
Danilo Maia Florenzano

A integração fica bem bacana mesmo. Muito obrigado!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.