Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git ops: Git based application deployment patterns for Kubernetes

456 views

Published on

Shahidh talks about various patterns revolving around GitOps (Git + Devops) for applications deployment onto Kubernetes and introduces Gitkube (https://github.com/hasura/gitkube) as a tool to do GitOps.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Git ops: Git based application deployment patterns for Kubernetes

  1. 1. Git based application deployment patterns for Kubernetes Git ❤ K8s
  2. 2. Shahidh K Muhammed @shahidh_k
  3. 3. Git ● Distributed version control system ● Manage source code ● Any text files can be tracked ● Collaboration
  4. 4. 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
  5. 5. Declarative tools ❤ Git
  6. 6. Ops ● Configure, build, test, deploy ● CI/CD ● Monitor, fix ● Upgrades ● Rollbacks ● Automation
  7. 7. 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
  8. 8. GitOps - Patterns ● CI builds artifacts ● Updates config (in a git repo) ● Trigger rollout (PR merge/commit) ● Observe ● Control
  9. 9. GitOps - Patterns Source: Weave Works
  10. 10. 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
  11. 11. Gitkube
  12. 12. Gitkube - Architecture
  13. 13. Demo ● Gitkube ● GitOps at Hasura: ○ Deploying applications ○ Changing subdomain ○ Add a new domain ○ Database migrations
  14. 14. Shahidh K Muhammed @shahidh_k Thanks for listening! Questions? Meetup Koffee With Kubernetes Thursdays 6pm

×