DEV Community

Cover image for ✅ Task #1 — Introduction to ArgoCD + Installation on GKE Cluster
Latchu@DevOps
Latchu@DevOps

Posted on

✅ Task #1 — Introduction to ArgoCD + Installation on GKE Cluster

1. What is ArgoCD? (Easy Explanation)

ArgoCD is a GitOps-based Continuous Delivery (CD) tool for Kubernetes.

🔥 In simple words:

ArgoCD automatically deploys apps to your Kubernetes cluster from GitHub/GitLab, and keeps them in sync.

If your cluster changes → ArgoCD fixes it
If Git changes → ArgoCD deploys the new version
If someone deletes a pod → ArgoCD recreates it


2. Why do we need ArgoCD? (Easy-to-understand)

✅ 1. GitOps Automation

Anything you push to Git will be auto-deployed to Kubernetes.

✅ 2. No manual kubectl apply

ArgoCD replaces kubectl commands with automation.

✅ 3. Application rollback

One click → rollback to any previous Git commit.

✅ 4. Full visibility

A UI dashboard shows:

  • Pods
  • Services
  • Events
  • Health status
  • Sync status

✅ 5. Secure

Your cluster never needs to pull code from CI.
ArgoCD runs inside the cluster → it pulls manifests securely.

✅ 6. Multi-cluster support

One ArgoCD can deploy apps to many clusters.


⭐ 3. Install ArgoCD on GKE — Step-by-Step (Task)

Make sure kubectl is connected to your GKE cluster:

gcloud container clusters get-credentials mycluster --region us-central1-a
Enter fullscreen mode Exit fullscreen mode

Step 1 — Create the namespace

kubectl create namespace argocd
Enter fullscreen mode Exit fullscreen mode

Step 2 — Install ArgoCD core components

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Enter fullscreen mode Exit fullscreen mode

Step 3 — Install ArgoCD CLI (optional but useful)

Linux:

sudo curl -sSL -o /usr/local/bin/argocd \
https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64

sudo chmod +x /usr/local/bin/argocd
Enter fullscreen mode Exit fullscreen mode

Step 4 — Expose ArgoCD UI using LoadBalancer

By default, ArgoCD creates a ClusterIP service.
You need a LoadBalancer for browser login.

kubectl patch svc argocd-server -n argocd \
  -p '{"spec": {"type": "LoadBalancer"}}'
Enter fullscreen mode Exit fullscreen mode

Wait for the external IP:

kubectl get svc -n argocd
Enter fullscreen mode Exit fullscreen mode

Look for:

argocd-server   LoadBalancer   EXTERNAL-IP: x.x.x.x
Enter fullscreen mode Exit fullscreen mode

Step 5 — Get the initial admin password

kubectl get secret argocd-initial-admin-secret -n argocd \
  -o jsonpath="{.data.password}" | base64 -d
Enter fullscreen mode Exit fullscreen mode

Step 6 — Login to ArgoCD (CLI)

argocd login <EXTERNAL-IP> --username admin --password <PASSWORD> --insecure
Enter fullscreen mode Exit fullscreen mode

Step 7 — Open ArgoCD UI

Open in browser:

https://<EXTERNAL-IP>
Enter fullscreen mode Exit fullscreen mode

1

Login:

Username: admin
Password: (the decoded password above)
Enter fullscreen mode Exit fullscreen mode

2


🌟 Thanks for reading! If this post added value, a like ❤️, follow, or share would encourage me to keep creating more content.


— Latchu | Senior DevOps & Cloud Engineer

☁️ AWS | GCP | ☸️ Kubernetes | 🔐 Security | ⚡ Automation
📌 Sharing hands-on guides, best practices & real-world cloud solutions

Top comments (0)