Infraestrutura: Kamal 2
O Kamal 2 faz deploy de uma aplicação em servidores usando só SSH, Docker e um proxy reverso. As lições leem um config/deploy.yml de uma aplicação Rails num único VPS. O curso mostra o modelo de build, registro e SSH, e como o kamal-proxy troca contêineres atrás de uma verificação de saúde em /up. Os acessórios guardam os dados do Postgres em caminhos do host, sem porta publicada. Depois vêm os valores claros e secretos do ambiente e os comandos do dia a dia e de recuperação. Em seguida, uma análise mostra o que o arranjo acerta e o que fica para outra coisa, e um desafio sobre a decisão da verificação de saúde fecha o curso.
O que você vai aprender
- ✓Como o Kamal constrói, envia e sobe contêineres por SSH
- ✓Como o kamal-proxy usa a verificação de saúde para trocar contêineres sem lacuna
- ✓Rodar o Postgres como acessório com dados em volumes do host
- ✓Separar configuração clara de segredos guardados no shell do operador
- ✓Comandos do dia a dia e de recuperação, incluindo apelidos com --reuse
- ✓Distinguir configurações deliberadas de padrões nunca testados
O que o Kamal realmente faz
O Kamal é uma ferramenta de deploy que pressupõe que você tem servidores e Docker, e nada mais. Não há Kubernetes, plano de controle nem plataforma gerenciada, só SSH e contêineres. É um conjunto de peças móveis menor que o da maioria das alternativas, e é por isso que o Kamal cabe num único VPS.
Ler a aula completa grátis →Currículo
7 aulasO que o Kamal realmente faz
Como o Kamal constrói uma imagem, envia para um registro e sobe contêineres nos servidores por SSH.
O proxy e a troca
Como o kamal-proxy verifica a saúde do contêiner novo em /up e troca o tráfego sem lacuna.
Acessórios e o banco
Como os acessórios rodam o Postgres com dados num caminho do host e sem porta publicada.
Segredos e o ambiente
Como o Kamal separa valores claros versionados de segredos cujos valores vêm do shell do operador.
Os comandos que você realmente roda
Os comandos do Kamal para o dia a dia e para recuperação, incluindo apelidos com --reuse.
O que este arranjo acerta e erra
Uma análise das escolhas deliberadas deste arranjo, dos tempos limite nunca medidos e dos backups, que ficam fora do arquivo de deploy.
Juntando tudo
Um resumo do deploy como troca de contêineres e um desafio para implementar a decisão de deploy_outcome.