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

Git based application deployment patterns for K...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Git based application deployment patterns for Kubernetes

Shahidh talks about various patterns revolving around GitOps (Git + Devops) for applications deployment onto Kubernetes.

Avatar for Shahidh K Muhammed

Shahidh K Muhammed

March 29, 2018
Tweet

More Decks by Shahidh K Muhammed

Other Decks in Technology

Transcript

  1. Git • Distributed version control system • Manage source code

    • Any text files can be tracked • Collaboration
  2. Git - Source of Truth • Infrastructure as Code ◦

    Terraform, CloudFormation • System Configuration as Code ◦ Ansible ◦ Chef ◦ Puppet • Application Configuration as Code ◦ Kubernetes ◦ Hasura • Application Source Code
  3. Ops • Configure, build, test, deploy • CI/CD • Monitor,

    fix • Upgrades • Rollbacks • Automation
  4. GitOps • Ops practices using Git • Use Git as

    source of truth • Drive operations through git repo • Get version control, history, peer review, and rollback • Continuous delivery - Automated pipelines • Webhooks: push to trigger build/test • PRs & merge branch to deploy
  5. GitOps - Patterns • CI builds artifacts • Updates config

    (in a git repo) • Trigger rollout (PR merge/commit) • Observe • Control
  6. GitOps - Patterns • Use declarative configuration to define application

    and services • All changes go through git review process, none using kubectl • Use an operator in the cluster to drive observed state to desired state, as declared by the configuration in git • pre-push hook to create manifests ◦ Render templates for correct env ◦ Secrets • pre-receive hook or webhooks to build artifacts and do kubectl set-image • Power to developer • Own tooling