Introduction
Deploying applications on Kubernetes is powerful, but doing it manually again and again using kubectl can become slow, error-prone, and hard to manage. Many teams face issues like missed updates, wrong configurations, and no clear history of changes.
This is where GitOps with ArgoCD helps.
In simple words, GitOps means: your Git repository becomes the main control system for your application deployment. You just push changes to Git, and ArgoCD automatically updates your Kubernetes cluster.
This approach is widely used in modern DevOps, cloud computing, and CI/CD pipelines because it is reliable, traceable, and easy to scale.
What is GitOps in Kubernetes?
GitOps is a deployment approach where your entire Kubernetes setup (applications, configs, services) is stored in a Git repository.
How GitOps works in simple words
You write Kubernetes YAML files (Deployment, Service, etc.)
You store them in GitHub, GitLab, or Bitbucket
Any change in Git triggers deployment automatically
The cluster always matches what is written in Git
Real-life example
Think of Git like a “remote control” for your infrastructure.
Before GitOps:
You manually press buttons (kubectl commands) every time.
After GitOps:
You just change something in Git, and everything updates automatically.
This makes Kubernetes deployment faster and safer.
What is ArgoCD?
ArgoCD is a GitOps continuous delivery (CD) tool made specifically for Kubernetes.
It watches your Git repository and ensures that your Kubernetes cluster always stays in sync with it.
Key features of ArgoCD
Automated deployment
Whenever you push changes to Git, ArgoCD deploys them automatically.Self-healing system
If someone manually changes something in Kubernetes, ArgoCD detects it and fixes it.Easy rollback
You can go back to any previous version directly from the UI.Visual dashboard
ArgoCD provides a UI where you can see app status, sync state, and errors.
Simple understanding
ArgoCD = Git watcher + Kubernetes deployer
How ArgoCD GitOps Workflow Works
Let’s understand the full GitOps workflow step by step.
Step-by-step flow
Developer updates code or YAML in Git
Code is pushed to repository (GitHub/GitLab)
ArgoCD detects the change
ArgoCD compares desired state (Git) vs actual state (cluster)
ArgoCD applies required changes
Before vs After GitOps
Before using GitOps:
Manual deployments using
kubectlHigh chances of mistakes
No clear version tracking
After using GitOps with ArgoCD:
Fully automated deployments
Everything tracked in Git history
Easy rollback and debugging
This is why GitOps is becoming standard in DevOps.
Prerequisites for ArgoCD Kubernetes Deployment
Before starting, make sure your environment is ready.
Required tools
Kubernetes cluster (Minikube, EKS, GKE, AKS)
kubectlinstalled and configuredGit repository (GitHub recommended)
Basic knowledge of YAML and Kubernetes concepts
Beginner tip
If you are new, start with Minikube locally. It is simple and good for practice.
Step 1: Install ArgoCD in Kubernetes Cluster
First, create a separate namespace for ArgoCD.
kubectl create namespace argocdNow install ArgoCD using official manifests:
kubectl apply -n argocd -fWhat happens internally?
ArgoCD server is created
Controller and repo server are installed
Required services and pods are started
You can verify installation using:
kubectl get pods -n argocdStep 2: Access ArgoCD Dashboard (UI)
To access ArgoCD UI locally:
kubectl port-forward svc/argocd-server -n argocd 8080:443Open browser:
https://localhost:8080
Get login password
kubectl get secret argocd-initial-admin-secret -n argocd -o yamlDecode it and login using:
Username: admin

Join the conversation! Your thoughts help the community grow.