Skip to content
← Back to projects

Devops Skate Events

The official Laravel starter kit for Livewire.

#PROJETO FINAL DE PÓS GRADUAÇÃO - DEVOPS

Esse é um estudo de caso para implantação de aplicação orquestrada com Docker Swarm contendo 4 réplicas, probe liveness e redness e também monitoramento com Prometheus e Grafana.


#SETUP DO DNS

Foi adquirido no serviço registro.br do domínio gestordevalores.com.br e, apontado os DNS do serviço cloudflare para exposição do serviço através de tunnel. Assim, a aplicação fica exposta externamente sem necessáriamente assinar um serviço de hospedagem na nuvem. Com isso, posso acessar meu computador local (homelab) externamente. O Homelab está configurado com virtualização bare-metal (proxmox), com 3 containers LXC, sendo:

  • 1 container lxc chamado swarm-manager
  • 1 container lxc chamado warm-node-1
  • 1 container lxc chamado warm-node-2
  • 1 container lxc chamado warm-node-3

Totalizando 1 manager e 3 nós.


#DEPENDÊNCIAS DOS CONTAINERS APLICAÇÃO EM LOCALHOST

Garanta que você tenha o docker, docker compose, git, curl e make devidamente instalado e configurado. Você garantir essas dependências com o seguinte comando:

# Atualiza repositórios do S.O e instala principais dependências
sudo apt update && sudo apt install git curl make

# Instala o docker:
curl -fsSL https://get.docker.com | sh

# Adiciona o usuário atual ao grupo 'docker'
sudo usermod -aG docker $USER

Após garantir que todas as dependências estejam instaladas, basta seguir o seguinte passo a passo:

# 1. Baixe o projeto do github e navegue no diretório do projeto
git pull https://github.com/icarojobs/devops-skate-events.git
cd devops-skate-events

# 2. Agora, simplesmente execute o comando 'make' dentro do diretório do projeto
make

# 4. Acesse a aplicação, via browser, no endereço http://IP_DO_MANAGER:8000

Para ver a aplicação em funcionamento, acesse https://sandbox.gestordevalores.com.br


#EXECUÇÕES SUBSEQUENTES DO PROJETO

# Sobe todos os containers (verificar arquivo Makefile):
make up

# Para todos os containers:
make down

#VERIFICAÇÃO DE E-MAILS

Você pode verificar os e-mails recebidos, em localhost, no endereço http://localhost:8025


#MONITORAMENTO

Acesse os serviços:


#BUILD DAS IMAGENS

# Repositório: mob2you/devops-skate-events
# Exemplo: docker push mob2you/devops-skate-events:tagname

# Construindo imagem da aplicação
make build

# ou
docker build -t mob2you/devops-skate-events/sail-8.4-app:latest .

# Enviando imagem construída para docker hub
make push

# ou
docker push mob2you/devops-skate-events:latest

#DEPLOY NO DOCKER SWARM

Acesse o manager e faça o seguinte:

# 1. Crie o diretório /docker com as configurações personalizadas
mkdir -p docker/prometheus # mesmas configurações do diretório docker do projeto, no arquivo prometheus.yml

# 2. Copie o arquivo deploy.yml para o 'swarm-manager', em ~/projects/devops-skate-events

# 3. Adicione o arquivo .env na raiz do projeto do 'swarm-manager', em ~/projects/devops-skate-events

# 4. Crie a rede overlay manualmente
docker network create --driver=overlay app_network

# 5. Execute sua stack
docker stack deploy -c deploy.yml devops_skate_events_stack

# Para remover a stack, digite
docker stack rm devops_skate_events_stack

# Para inspecionar um serviço
docker service inspect --pretty <SERVICE-ID>

New version available.