Infra top com GitOps (Meetup Docker SP #27)

Infra top com GitOps (Meetup Docker SP #27)

Palestra apresentada dia 27 de junho de 2019 no 27º Meetup Docker em São Paulo (https://events.docker.com/events/details/docker-sao-paulo-presents-docker-sao-paulo-meetup-27-elo7-1/). Conceituamos o que é o GitOps, características, comparamos ao modelo tradicional de CI/CD e demostramos ao vivo como instalar, como fazer ele monitorar e aplicar mudanças rasteradas em repositórios git e também como ele rastreia e faz deploy de imagens atualizadas. Segue link para vídeo com demo apresentada: https://youtu.be/Q00vfAZuQ4I

280fecb4f048de5ecf36bec281609ea4?s=128

Wellington F. Silva

June 26, 2019
Tweet

Transcript

  1. 2.

    Wellington F. Silva contato: @_wsilva nicks: wsilva, boina, tom, fisi*

    funções: pai, tec. telecom, programador, sysadmin, docker community leader, instrutor, escritor, zend certified engineer e docker certified associate * deprecation in favor of Well
  2. 3.
  3. 7.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores
  4. 9.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores • Facilita deploy / rollback de aplicações
  5. 10.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores • Facilita deploy / rollback de aplicações • Facilita automação
  6. 11.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores • Facilita deploy / rollback de aplicações • Facilita automação • Facilita auditoria de sistema
  7. 12.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores • Facilita deploy / rollback de aplicações • Facilita automação • Facilita auditoria de sistema • Separa melhor responsabilidades entre CI e CD
  8. 13.

    GitOps • Alterações por commit / pull request • Mantém

    1 fonte de verdade para todos operadores • Facilita deploy / rollback de aplicações • Facilita automação • Facilita auditoria de sistema • Separa melhor responsabilidades entre CI e CD • Em caso de desastre as aplicações e a infra estão no Git
  9. 16.
  10. 19.

    Alternativas Sim pode. A ideia é • rastrear e versionar

    as mudanças usando um SCM (~199% das vezes Git)
  11. 20.

    Alternativas Sim pode. A ideia é • rastrear e versionar

    as mudanças usando um SCM (~199% das vezes Git) • ter um daemon responsável por integrar as alterações na sua plataforma
  12. 22.

    CI/CD Git Artifact / 
 Registry Infraestrutura CI/CD RW RO

    RW RW RO Test / build / config / deploy RW Devs
  13. 23.
  14. 24.

    Flux Git Artifact / 
 Registry Infraestrutura / Kubernetes CI

    RW RO RW Test / build Flux RW RW RO Devs
  15. 30.

    Por que Flux? • Feito pela Weaveworks • Fácil implantar

    • Simples • Free • Pronto para Kubernetes
  16. 31.

    Por que Flux? • Feito pela Weaveworks • Fácil implantar

    • Simples • Free • Pronto para Kubernetes • Faz track e deploy de novas versões das imagens das nossas aplicações
  17. 34.
  18. 35.

    Instalando Flux • Ter um cluster kubernetes rodando • Clonar

    https://github.com/weaveworks/flux.git • Alterar deploy/flux-deployment.yaml de acordo com suas necessidades e aplicar.
  19. 36.

    Instalando Flux • Ter um cluster kubernetes rodando • Clonar

    https://github.com/weaveworks/flux.git • Alterar deploy/flux-deployment.yaml de acordo com suas necessidades e aplicar. • Ou usar helm e instalar com as flags de acordo com suas necessidades
  20. 37.

    Instalando Flux • Ter um cluster kubernetes rodando • Clonar

    https://github.com/weaveworks/flux.git • Alterar deploy/flux-deployment.yaml de acordo com suas necessidades e aplicar. • Ou usar helm e instalar com as flags de acordo com suas necessidades • Pegar ssh key (fluxctl identity) colocar no repo a ser monitorado
  21. 42.

    Contras • Muito permissivo por padrão • Documentação completa mas

    meio dispersa • Desenvolvido apenas para Git e Kubernetes