DEV Community

KALPESH
KALPESH

Posted on

Introduction to GitOps: Argo CD & Argo Image Updater

GitOps uses Git as the single source of truth to deliver applications and infrastructure

GitOps Principle

Argo CD resides in K8s cluster, which is k8s controller

  • Desired state must expressed declaratively

  • Desired state must stored in way to enforcing immutability & versioning

  • Software agent (controller= argoCD)automatically pulled desired declarative state from source

  • Software agent (controller= argoCD) continuously reconciled actual & desired state

Advantages of GitOps

  • security

  • versioning

  • Auto Upgrade

  • Auto Healing from any unwanted changes

  • Continuous reconcile

Argo CD Installation methods

  • manifest yaml

  • helm chart

  • operator

ArgoCD Architecture

  • Application controller: Reconciling the desired state of applications with the actual state

  • Repo server: Interactions with Git repositories, fetching and tracking changes

  • API server: Acts as the interface for Argo CD, handling requests from users and other components

  • Dex: An identity and access management server used to authenticate and authorize users

  • Redis: An in-memory data store used for caching and session management

Argo Image Updater

Argo Image Updater resides in K8s cluster, which is k8s controller

  • Scans for new images in CI: It continuously checks for new versions of the container images in registry(GitHub) which is used in applications.

  • Updates deployments(manifests) in CD: If there's a new version available, it updates the deployment(manifests).

  • Argo CD applies changes: Argo CD then applies these changes to your Kubernetes cluster with help of deployment(manifests) as single source of truth.

Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊

Top comments (0)