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

GitOps CD for k8s

GitOps CD for k8s

Spiros Economakis

June 25, 2020
Tweet

More Decks by Spiros Economakis

Other Decks in Technology

Transcript

  1. What is GitOps? Versioned CI/CD on top of declarative infrastructure

    & applications. Stop scripting and start shipping. Kesley Hightower
  2. Git as the Source of Truth • A git repo

    is the single source of truth for the desired state of the whole system • All changes to the desired state are Git commits • All specified are observable, so that we can detect if the desired and observed states are the same (converged) or different (diverged)
  3. DevOps • Puppet (kind of) • Chef (kind of) •

    Salt (kind of) • Terraform cloud etc. etc.
  4. Existing CI/CD • Orchestrating CI pipelines (build, test, merge to

    trunk) • Automating management of complex multi-step pipelines • CD pipeline step to “push” deployments (applications, infrastructure etc.)
  5. Existing CI/CD - Push It is based on “pull” deployments

    which means an operator observes changes for deployment.
  6. GitOps It is based on “pull” deployments which means an

    operator observes changes for deployment.
  7. GitOps - Pull It is based on “pull” deployments which

    means an operator observes changes for deployment.
  8. Pull vs Push • Separation of Concerns • Use any

    CI and Git server • Events as an integration tool
  9. Argo Rollouts A canary rollout is a deployment strategy where

    the operator releases a new version of their application to a small percentage of the production traffic. • Blue green • Canary
  10. ArgoCD Benefits • Application health analysis • Automatic drift detection

    • Version tracking • Easy rollback • Alarming
  11. ArgoCD vs Flux Flux allows to connect only one repository

    per instance of Flux operator ArgoCD can connect multiple git repositories to one cluster
  12. ArgoFlux - GitOps Engine Argo + Flux join forces https://www.weave.works/blog/argo-flux-join-forces

    Share common components as well as backwards-compatibility support for both Argo CD and Flux CD. https://github.com/argoproj/gitops-engine
  13. GitOps Benefits • Increased Productivity • Enhanced Developer Experience •

    Improved Stability • Consistency and Standardization • Stronger Security Guarantees