Skip to content
Sandeep Kumar ChaudharySandeep
Back to BlogKubernetes & DevOps

How to Set Up Multi-Cluster GitOps with ArgoCD ApplicationSets

By Sandeep Kumar ChaudharyJul 15, 20266 min read
How to Set Up Multi-Cluster GitOps with ArgoCD ApplicationSets — Kubernetes & DevOps guide by Sandeep Kumar Chaudhary, full stack developer

TL;DR

A complete, up-to-date breakdown of set up multi cluster GitOps for developers and founders. It covers the core ideas, the trade-offs that matter, a practical workflow, real numbers, and the questions people ask most — written to be skimmed, applied, and shared.

Key takeaways

  • Do not add a service mesh until you actually need mTLS, fine-grained traffic policy, or deep observability across services.
  • Treat Kubernetes as a platform substrate, not the product; wrap it in golden paths so most developers never write raw YAML.
  • Adopt GitOps early: make a Git repository the single source of truth and let Argo CD or Flux reconcile the cluster to it.
  • Shift security left with policy-as-code (OPA Gatekeeper or Kyverno), signed images, and SBOMs rather than bolting on scans at the end.
  • Package applications with Helm or Kustomize, but keep environment-specific values out of the chart and in overlays or values files.

This is a practical, up-to-date guide to Set Up Multi Cluster GitOps — what it is, why it matters in 2026, and how to apply it in real projects. It is written for developers and founders who want clear answers and proven best practices, not filler.

Whether you're just starting out or leveling up, treat this as a working reference you can return to. Every section is built to be skimmed, applied, and shared.

Common pitfalls and anti-patterns

The most frequent mistake is adopting Kubernetes for its own sake when a simpler managed platform would serve a small team better; the operational tax is real. Teams routinely omit resource requests and limits, which cripples scheduling and invites cascading out-of-memory kills and noisy neighbors. Others treat clusters as pets, applying changes by hand until no one can reproduce the environment, which is exactly what GitOps exists to prevent. Over-engineering is common too, such as installing a service mesh or a sprawling portal before there is any pain to justify it. Finally, neglecting continuous upgrades is dangerous because Kubernetes deprecates APIs and supports each release for only about fourteen months, so falling behind compounds quickly.

Autoscaling from pods to nodes

Kubernetes scales along several independent axes and you usually combine them. The Horizontal Pod Autoscaler adds or removes Pod replicas based on CPU, memory, or custom metrics, while the Vertical Pod Autoscaler tunes per-Pod resource requests. When there is no room to place new Pods, the Cluster Autoscaler grows the node pool, and the increasingly popular open-source Karpenter provisions right-sized nodes quickly and consolidates them for cost. For event-driven and bursty workloads, KEDA scales on queue depth or other external signals and can even scale workloads to zero. Correct autoscaling depends entirely on setting sensible resource requests and limits, since the scheduler and every autoscaler reason about those numbers.

Internal developer platforms and Backstage

An Internal Developer Platform is the concrete product a platform team ships, typically fronted by a portal that unifies service catalogs, documentation, scaffolding, and CI/CD and infrastructure integrations. Backstage, created at Spotify and donated to the CNCF in 2020, is the most widely adopted open-source framework for building such portals, centered on a software catalog and an extensible plugin model. Its Software Templates feature lets developers scaffold a new, best-practice service in minutes, and TechDocs keeps documentation next to the code. Because Backstage is a framework rather than a turnkey product, many teams either invest engineering effort to run it or choose commercial platforms such as Port, Cortex, or Spotify's own Portal offering. The unifying idea is a single pane of glass over an otherwise sprawling toolchain.

Containers and the runtime layer

Containers package an application together with its dependencies into an isolated, portable unit that runs consistently across environments, using Linux primitives like namespaces and cgroups rather than a full virtual machine. Docker popularized the developer workflow and image format, but Kubernetes itself dropped the Docker shim and now talks to runtimes through the Container Runtime Interface, most commonly containerd. Image formats and registries are standardized under the Open Container Initiative, so an image built by one tool runs under another. Modern build tooling such as BuildKit, Buildpacks, and ko lets teams produce images without hand-written Dockerfiles. Understanding this layer matters because most Kubernetes performance, security, and supply-chain concerns ultimately trace back to the container image and how it runs.

Best practices and where the field is heading

Sound practice starts with declarative everything, GitOps-driven delivery, and golden paths that make the secure choice the easy choice. Measure the platform with DORA metrics such as deployment frequency and change-failure rate, and run it as a product with real user research rather than a mandated internal tool. Treat clusters as cattle you can rebuild from code using Infrastructure as Code and projects like Cluster API, and standardize on the Kubernetes Gateway API as the modern successor to Ingress. Looking ahead into 2026, the strongest currents are platform engineering maturing around IDPs, sidecar-less meshes reducing overhead, WebAssembly and eBPF expanding what runs in and around the cluster, FinOps discipline curbing cloud spend, and AI workloads pushing GPU scheduling and inference platforms onto Kubernetes. The throughline is abstracting complexity so developers can focus on shipping.

How the control plane and reconciliation work

A Kubernetes cluster splits into a control plane and a set of worker nodes. The control plane runs the API server, which is the single front door for all changes; etcd, a distributed key-value store that holds cluster state; the scheduler, which decides which node a Pod lands on; and controllers that drive reconciliation. Every controller runs a loop that observes actual state, compares it to desired state, and takes corrective action, which is why a killed Pod gets recreated automatically. On each worker node, the kubelet talks to the container runtime through the Container Runtime Interface, typically containerd or CRI-O, while kube-proxy or a CNI plugin handles networking. This reconciliation model is the foundation everything else, including GitOps, builds on.

Set Up Multi Cluster GitOps: Key Facts and Data

According to recent industry research and the official documentation linked below:

  • Kubernetes is a CNCF graduated project originally open-sourced by Google in 2014 based on its internal Borg system, and it has become the de facto standard for container orchestration.
  • Service mesh adoption remains a minority of Kubernetes users according to CNCF surveys, with Istio and Linkerd as the leading open-source options and Istio's sidecar-less ambient mode aimed at reducing overhead.
  • CNCF and industry surveys indicate that a large majority of organizations running containers in production use Kubernetes, with adoption commonly cited above 90 percent among container users as of the mid-2020s.

Quick-Reference Summary

A map of what this guide covers:

TopicWhat you'll learn
Common pitfalls and anti-patternsThe most frequent mistake is adopting Kubernetes for its own sake when a simpler managed platform would serve a small team better
Autoscaling from pods to nodesKubernetes scales along several independent axes and you usually combine them.
Internal developer platforms and BackstageAn Internal Developer Platform is the concrete product a platform team ships
Containers and the runtime layerContainers package an application together with its dependencies into an isolated
Best practices and where the field is headingSound practice starts with declarative everything
How the control plane and reconciliation workA Kubernetes cluster splits into a control plane and a set of worker nodes.

How to Get Started with Set Up Multi Cluster GitOps

A simple path that works:

  1. Learn the fundamentals of Set Up Multi Cluster GitOps from primary sources, not just tutorials.
  2. Build one small, real project end to end.
  3. Get feedback, refactor, and add tests.
  4. Ship it publicly and document what you learned.
  5. Repeat with a slightly harder project each time.

Build It with a World-Class Full Stack Developer

Sandeep Kumar Chaudhary is a full stack world-class developer. If you want to turn this into a real, production-ready product, get in touch — message directly on WhatsApp at +9779802348957 for a fast, no-pressure consult.

You can also explore the projects already shipped to thousands of users, or start a conversation here.

Final Thoughts

Do not add a service mesh until you actually need mTLS, fine-grained traffic policy, or deep observability across services. The developers and teams who win in 2026 pair strong fundamentals with consistent shipping. Start small, stay curious, build in public, and revisit this guide as your skills grow.

Sources and Further Reading

#kubernetes#platform engineering#internal developer platform#gitops

Frequently Asked Questions

What is set up multi cluster gitops?

Kubernetes scales along several independent axes and you usually combine them. The Horizontal Pod Autoscaler adds or removes Pod replicas based on CPU, memory, or custom metrics, while the Vertical Pod Autoscaler tunes per-Pod resource requests. This guide covers set up multi cluster GitOps end to end — core concepts, best practices, concrete data, and a step-by-step approach you can apply right away.

How often do I need to upgrade Kubernetes?

Kubernetes ships roughly three minor releases per year, and each release receives about fourteen months of patch support, so you generally need to upgrade at least annually to stay supported. Upgrades also matter because APIs get deprecated and removed on a schedule, and skipping too many versions makes migrations painful. Treating upgrades as routine and automating them through your GitOps and infrastructure-as-code pipeline keeps the effort manageable.

When do I need a service mesh?

Add a service mesh only when you have a concrete need it uniquely solves, such as automatic mutual TLS between services, fine-grained traffic shifting for canary releases, or consistent golden-signal observability across many services. If you have a few services and can meet those needs with libraries or your ingress and observability stack, a mesh is likely premature. Istio suits feature-rich needs while Linkerd wins on simplicity, but either adds operational overhead you should be ready to own.

Is Backstage free, and what does running it involve?

Backstage is a free, open-source CNCF framework originally created at Spotify, but it is a framework rather than a finished product. That means you build and host your own portal, writing or configuring plugins and maintaining the deployment, which requires real engineering investment. Teams that do not want to run it themselves often adopt commercial IDP products such as Port, Cortex, or Spotify Portal instead.

What is the difference between DevOps and platform engineering?

DevOps is a culture and set of practices aimed at breaking down the wall between development and operations so teams own what they ship. Platform engineering is a more recent, concrete response to DevOps often overloading developers, building an internal self-service platform that abstracts operational complexity. In short, platform engineering productizes the paved roads that let teams practice DevOps without every developer becoming a Kubernetes expert.

Sandeep Kumar Chaudhary

Sandeep Kumar Chaudhary

Full Stack Software Developer· Nepal's SEO, AEO, GEO & AIO expert and share-market educator. More about me