DEV Community

Cover image for Master GitOps with ArgoCD: Automate Your Kubernetes Deployments Like a Pro
Surender Gupta
Surender Gupta

Posted on

Master GitOps with ArgoCD: Automate Your Kubernetes Deployments Like a Pro

Introduction: Why GitOps + ArgoCD Is the Future of Kubernetes Automation

Managing Kubernetes deployments manually or via scripts is error-prone, inconsistent, and hard to scale.

Enter GitOps — a methodology that uses Git as the single source of truth for your infrastructure and applications. And at the heart of GitOps for Kubernetes lies ArgoCD, the most popular continuous delivery tool purpose-built for GitOps.

In this practical guide, you’ll learn:

  • What GitOps is and how ArgoCD enables it
  • How to set up ArgoCD step-by-step
  • Best practices for automating and securing your Kubernetes workflows

By the end, you’ll be able to deploy apps to Kubernetes like a pro — with full auditability, rollback, and zero manual steps.


Section 1: What Is GitOps and Why It Works So Well with Kubernetes

GitOps isn’t just a buzzword — it’s a paradigm shift.

What is GitOps?

GitOps is the practice of:

  • Declaring infrastructure and app configs in Git
  • Automatically syncing Git changes to your cluster
  • Auditing every change via pull requests

It uses pull-based automation, which is more secure and auditable than traditional CI/CD.

Why GitOps + Kubernetes = ❤️

Kubernetes is declarative by design — so it’s a natural fit.
Git becomes your source of truth → ArgoCD syncs changes → Kubernetes executes them.

Benefits:

  • Instant rollback with git revert
  • Strong audit trail (Git history)
  • Zero-downtime deployments
  • No manual kubectl apply

Section 2: Getting Started with ArgoCD — Step-by-Step

Step 1: Install ArgoCD

kubectl create namespace argocd

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

Access the UI:

kubectl port-forward svc/argocd-server -n argocd 8080:443
Enter fullscreen mode Exit fullscreen mode

Default username: admin
Get password:

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

Step 2: Create a Git Repo for Your Kubernetes Manifests

Structure:

.
├── dev/
│   ├── frontend.yaml
│   └── backend.yaml
├── staging/
└── production/

Enter fullscreen mode Exit fullscreen mode

Store Kubernetes YAMLs, Kustomize bases, or Helm charts in Git.

Step 3: Connect Git Repo to ArgoCD

Create an Application resource:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/your-org/your-app
    targetRevision: main
    path: dev
  destination:
    server: https://kubernetes.default.svc
    namespace: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
Enter fullscreen mode Exit fullscreen mode

Apply it:

kubectl apply -f app.yaml
Enter fullscreen mode Exit fullscreen mode

Now, ArgoCD auto-syncs your cluster to match your Git repo.


Section 3: ArgoCD Best Practices for Production

GitOps is powerful — but only if you follow strong operational patterns. Here’s how to productionize it:

1. Use RBAC and SSO

  • Integrate with GitHub, GitLab, or OIDC providers
  • Limit access by role and environment (e.g., dev vs prod)

2. Separate Repos by Environment

  • Avoid mixing prod and dev in the same repo
  • Use different ArgoCD Application objects per env

3. Use Health Checks and Sync Hooks

  • Customize sync steps with syncWave, preSync, postSync
  • Add health checks to catch failing states before rollback

4. Monitor and Alert with ArgoCD Metrics

  • Export ArgoCD Prometheus metrics
  • Use Grafana dashboards and alerting for failed syncs

5. Secure ArgoCD Itself

  • Run behind an ingress with HTTPS
  • Regularly rotate admin secrets
  • Avoid direct access from the internet unless via VPN or identity-aware proxy

Conclusion: Automate Everything with GitOps and ArgoCD
ArgoCD and GitOps are revolutionizing Kubernetes deployments.

No more fragile shell scripts. No more mystery configs.
Just reliable, trackable, and secure deployments, every time you git push.

If you’re managing Kubernetes at scale in 2025 and still deploying manually — you’re already behind.


Bonus Resources


🙏 Support My Work

If this guide helped you understand GitOps or ArgoCD a little better, consider supporting me with a coffee.

It helps me keep writing honest, practical DevOps content that simplifies complex tools for engineers like you.

👉 buymeacoffee.com/surendergupta

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.