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 sourceSoftware 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 stateRepo server: Interactions with Git repositories, fetching and
tracking changes
API server: Acts as the
interface
for Argo CD, handling requests from users and other componentsDex: 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! ๐
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!