ArgoCD All-in-One Setup Guide.
This guide is divided into different topics and helps you set up all the required components that are needed in your organizational setup.
1: ArgoCD High Availability (HA) [Production Ready].
2:- ArgoCD Ingress Setup
3:- SSO Login via Okta & Role Based Access
4:- ArgoCD Image updater (Self-managed Cluster)
5:- Slack Notification Setup
6:- Post Sync Trigger After Application deployment
Intro to Argo CD —
ArgoCD is a CD with a Pull Model Design that is based on GitOps.
What is Argo CD —
ArgoCD is a GitOps principle-based continuous delivery tool for Kubernetes.
ArgoCD VS Traditional CD tools —
The traditional CD (continuous delivery ) Tools work on PUSH Model.
PUSH approach Required-
> Install Clients on CICD Setup [Like Kubectl & Helm ]
Connectivity between the CI/CD System and the K8s Cluster may reveal secrets, raising security problems.
Deploying to the Kubernetes cluster necessitates granting access to the CI/CD system. [This also breaks the Principle of Least Privilege ]
ArgoCD —
PULL approach -
As soon as you made any modifications to the manifest file that was stored in GIT or another version control system. ArgoCD will apply the modifications to your Kubernetes cluster after pulling the updates within 3 minutes (the default sync time).
As long as your ArgoCD Pods are operating on the respective Kubernetes Cluster, the pull strategy does not require any secret setup and special access for the deployment.
Why ArgoCD —
> ArgoCD allows us to use Git as a single source of truth. [Developers and DevOps engineers will only change the manifest on Git]
> Automatic application state synchronization with the most recent declarative configuration.
> Ability to visualize deployment issues, and detect and remediate configuration drift.
> Role-based access control (RBAC) enabling multi-cluster management.
> Web user interface and command-line interface (CLI).
> Better User management using Single sign-on (SSO) from the different-2 provider of your choice.
> Support for webhooks triggering actions in GitLab, GitHub, and BitBucket.
ArgoCD Best Practices:-
> Repositories for Configuration and Source Code Should Be Separated
> If you wish to use HPA, then don’t include “replicas” in Git.
> Use SecretManagement Tool, Don’t Store Plain Secrets in Git.
> Use ArgoCD HA setup for Production.
> Use app of apps to manage the ArgoCD Application
> Use Application Set and Power of generators to generate Applications
Click Me-
ArgoCD High Availability (HA) [Production Ready].
I hope this article was instructive and helpful to you :)
Crafting these articles demands countless hours of ideation, research, and writing. This year has seen me invest over 500 hours into this craft alone. If my work has brought you joy, would you kindly consider supporting me with a coffee? Your gesture would mean the world to me. If not, thank you dearly for your readership. ❤️