Skip to content

Latest commit

 

History

History
43 lines (41 loc) · 2.29 KB

README.md

File metadata and controls

43 lines (41 loc) · 2.29 KB

Pipeline completa do projeto "INICIATIVA DEVOPS" do Fabricio Veronez

PIPELINE CI/CD etapas:

parte de CI

  1. criar cluster na nuvem (no caso é a Digitalocean):
  • criar arquivo terraform main.tf e o terraform.tfvars com especificações do cluster a ser gerado.
  • na pasta com os arquivos de iac de terraform:
$ terraform init
$ terraform apply
  1. para interagir com o cluster:
  • copiar configurações de acesso kube_config.yaml para configurações do cluster local:
$ cp ./kube_config.yaml ~/.kube/config
  1. fazer no Github Actions o main.yaml do workflows a parte de CI
  2. no Github Settings criar Secrets:
  • DOCKERHUB_USER com seu usuário do dockerhub
  • DOCKERHUB_PWD com a respectiva senha

5) *lembrar de criar .gitignore pra só subir main.tf no Github para não expor informações sensíveis como token da nuvem, presente nos arquivos gerados *.tfstate e *.tfvars e o kube_config.yaml !!!

parte de CD

  1. complementar o workflows a parte de CD e:
  • criar Secrets: K8S_CONFIG e dentro dele colar todo o conteudo do kubec_config.yaml

Prometheus e Grafana

  1. na pasta kube-news instalar pelo helm, o Prometheus do artifacthub:
$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
$ helm repo update
$ helm upgrade --install prometheus prometheus-community/prometheus --set alertmanager.enabled=false,server.persistenVolume.enabled=false,server.service.type=LoadBalancer,server.global.scrape_interval=10s
  1. inserir annotations no k8s deployment.yaml:
  • alt text
  1. aplicar mudançças no deployment.yaml :
$ kubectl apply -f deployment.yaml
  • obs.: caso queira acessar, abra pagina da internet e escreva "localhost:IP", substitua "IP" pelo EXTERNAL-IP do prometheus-server mostrado pelo comando:
$ kubectl get svc