Introduction to GitOps: Argo CD & Argo Image Updater

KALPESH MOHANTAKALPESH MOHANTA
2 min read

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

Screenshot 2023-03-28 at 9 38 09 PM

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! ๐Ÿ˜Š

0
Subscribe to my newsletter

Read articles from KALPESH MOHANTA directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

KALPESH MOHANTA
KALPESH MOHANTA

๐Ÿ‘‹ Hi there! Welcome to my DevOps adventure! ๐Ÿš€ I'm Kalpesh, a DevOps Engineer, and I'm thrilled to share my journey in the dynamic world of DevOps and Cloud Technologies. ๐ŸŒ ๐Ÿ”ง Tech Arsenal: CI/CD Automation: Streamlining workflows for seamless deployments. Containers & Orchestration: Docker & Kubernetes. Cloud Platforms: Azure, AWS. Version Control: Git. Configuration Management: YAML, Linux commands. ๐Ÿš€ My Journey: I've had the privilege to work on diverse projects, including a notable deployment for PepsiCo. My expertise spans CI/CD automation, containerization, cloud services, and scripting to enhance system performance and reliability. ๐Ÿ’ก Why Follow Me? Join me as I delve into: Cutting-edge DevOps practices. Automation techniques. Cloud innovations. Tips & tricks for aspiring DevOps professionals. ๐Ÿค Connect & Collaborate: Let's build, learn, and innovate together. Whether you're a fellow tech enthusiast, a professional looking to share insights, or someone eager to learn, let's connect and grow in this vibrant community. ๐Ÿ“ข Follow my LinkedIn & Hashnode blog for insights, tutorials, and updates. Together, we'll embrace the ever-evolving DevOps landscape!