Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Wellington F. Silva

June 26, 2019
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. Infra top com GitOps
    Meetup Docker SP #27

    View Slide

  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

    View Slide

  3. Agenda
    • O que é Gitops
    • CI/CD vs Gitops
    • Flux
    • Como funciona

    View Slide

  4. O que é GitOps?

    View Slide

  5. O que é GitOps?
    Modelo de operação baseado no Git

    View Slide

  6. GitOps
    • Alterações por commit / pull request

    View Slide

  7. GitOps
    • Alterações por commit / pull request
    • Mantém 1 fonte de verdade para todos
    operadores

    View Slide

  8. –Kelsey Hightower

    https://youtu.be/07jq-5VbBVQ?t=208
    “kubectl is the new ssh”

    View Slide

  9. GitOps
    • Alterações por commit / pull request
    • Mantém 1 fonte de verdade para todos
    operadores
    • Facilita deploy / rollback de aplicações

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  14. Posso fazer
    SVNOps?

    View Slide

  15. E MercurialOps?

    View Slide

  16. E CVSOps?

    View Slide

  17. OutrosOps?

    View Slide

  18. Alternativas
    Sim pode.

    View Slide

  19. Alternativas
    Sim pode.
    A ideia é
    • rastrear e versionar as mudanças usando um
    SCM (~199% das vezes Git)

    View Slide

  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

    View Slide

  21. CI/CD tradicional

    View Slide

  22. CI/CD
    Git
    Artifact / 

    Registry
    Infraestrutura
    CI/CD
    RW
    RO
    RW
    RW
    RO
    Test / build / config / deploy
    RW
    Devs

    View Slide

  23. Com Flux

    View Slide

  24. Flux
    Git
    Artifact / 

    Registry
    Infraestrutura / Kubernetes
    CI
    RW RO
    RW
    Test / build
    Flux
    RW
    RW
    RO
    Devs

    View Slide

  25. Por que Flux?

    View Slide

  26. Por que Flux?
    • Feito pela Weaveworks

    View Slide

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

    View Slide

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

    View Slide

  29. Por que Flux?
    • Feito pela Weaveworks
    • Fácil implantar
    • Simples
    • Free

    View Slide

  30. Por que Flux?
    • Feito pela Weaveworks
    • Fácil implantar
    • Simples
    • Free
    • Pronto para Kubernetes

    View Slide

  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

    View Slide

  32. Como instalar o
    Flux?

    View Slide

  33. Instalando Flux
    • Ter um cluster kubernetes rodando

    View Slide

  34. Instalando Flux
    • Ter um cluster kubernetes rodando
    • Clonar https://github.com/weaveworks/flux.git

    View Slide

  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.

    View Slide

  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

    View Slide

  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

    View Slide

  38. –Linus Torvalds

    https://lkml.org/lkml/2000/8/25/132
    “Talk is cheap. Show me
    the code.”

    View Slide

  39. Nem tudo são flores
    Para o Flux!

    View Slide

  40. Contras
    • Muito permissivo por padrão

    View Slide

  41. Contras
    • Muito permissivo por padrão
    • Documentação completa mas meio dispersa

    View Slide

  42. Contras
    • Muito permissivo por padrão
    • Documentação completa mas meio dispersa
    • Desenvolvido apenas para Git e Kubernetes

    View Slide

  43. Obrigado!

    Slides: https://speakerdeck.com/wsilva

    View Slide