Monday, 29 March 2021

What is GitOps ?

GitOps

  • implementation of CD (Continuous Delivery) on cloud infra
  • focused on developers using :
    • Git
    • CD tool(s) & automated pipeline
    • IaC (Infra as Code) & configuration

  • Implementation
    • Manage 2 repos
      1. Source code & manifests
      2. Deployment configs
    • Use one of the 2 deployment strategy
      • Push based
        • Code pushed > trigger pipeline > build & push container image > update env config repo > trigger deploy pipeline
      • Pull based (preferred, more secure)
        • Code pushed > trigger pipeline > build & push container image > update env config repo
        • Operator observes the changes in env repo > update infra
        • Operator observes the changes in image registry > deploy new version

      • Deploy on different environments when specific branches are updated

    • Prerequisites
      • Git
      • Infra manageable by IaC
      • Kubernetes (Operators for pull-based deployment)

    • Tools for GitOps
      • ArgoCD : K8S operator with an UI
      • JenkinsX : CD on K8S
      • Flux : K8S operator
      • GitKube : build/deploy docker images on K8S
      • Helm operator : K8S operator with Helm

    No comments:

    Post a Comment

    Note: only a member of this blog may post a comment.