$30 off During Our Annual Pro Sale. View Details »

Infra top com GitOps (Darkmira Tour PHP 2019)

Infra top com GitOps (Darkmira Tour PHP 2019)

Palestra apresentada dia 08 de junho de 2019 no Darkmira Tour PHP 2019 em Fortaleza - CE (https://php.darkmiratour.rocks/2019/schedule.html). 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, por alguns problemas com acesso ssh via rede da universidade gravamos a demo posteriormente e disponibilizamos aqui: https://youtu.be/Q00vfAZuQ4I

Wellington F. Silva

June 08, 2019
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. Infra top com GitOps
    Darkmira Tour PHP 2019

    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