", "tlsClientConfig": { "insecure": false, "caData": "" } } The in-cluster cluster (https://kubernetes.default.svc) is always available without registration — ArgoCD uses its own service account to access it. For external clusters, the ArgoCD application controller makes API calls to the registered cluster endpoint using the stored credentials. In practice, tools like the ArgoCD Cluster Generator (part of ApplicationSets) can dynamically register and manage Applications across all clusters registered as Secrets."> ", "tlsClientConfig": { "insecure": false, "caData": "" } } The in-cluster cluster (https://kubernetes.default.svc) is always available without registration — ArgoCD uses its own service account to access it. For external clusters, the ArgoCD application controller makes API calls to the registered cluster endpoint using the stored credentials. In practice, tools like the ArgoCD Cluster Generator (part of ApplicationSets) can dynamically register and manage Applications across all clusters registered as Secrets." />

Prev Next

Maven / ArgoCD interview questions

How does ArgoCD manage multiple clusters and what are the methods for registering them?

ArgoCD is designed to manage applications across multiple Kubernetes clusters from a single control plane. Each cluster is registered with the ArgoCD API server and stored as a Secret in the argocd namespace with the label argocd.argoproj.io/secret-type: cluster.

Two Methods for Registering Clusters

1. CLI (argocd cluster add) — The most common method. The CLI reads your local kubeconfig, creates a ServiceAccount and ClusterRoleBinding in the target cluster, then stores the credentials as a Secret in ArgoCD:

kubectl config use-context my-prod-cluster
argocd cluster add my-prod-cluster --name production

2. Declarative (Secret manifest) — For GitOps-managed ArgoCD deployments, you can commit a cluster Secret directly:

apiVersion: v1
kind: Secret
metadata:
  name: prod-cluster-secret
  namespace: argocd
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: production
  server: https://prod-k8s-api.example.com
  config: |
    {
      "bearerToken": "<token>",
      "tlsClientConfig": { "insecure": false, "caData": "<base64-ca>" }
    }

The in-cluster cluster (https://kubernetes.default.svc) is always available without registration — ArgoCD uses its own service account to access it. For external clusters, the ArgoCD application controller makes API calls to the registered cluster endpoint using the stored credentials.

In practice, tools like the ArgoCD Cluster Generator (part of ApplicationSets) can dynamically register and manage Applications across all clusters registered as Secrets.

How does ArgoCD store registered external cluster credentials?
Which cluster does ArgoCD access without any registration step?

Invest now in Acorns!!! 🚀 Join Acorns and get your $5 bonus!

Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!

Earn passively and while sleeping

Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.

Invest now!!! Get Free equity stock (US, UK only)!

Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.

The Robinhood app makes it easy to trade stocks, crypto and more.


Webull! Receive free stock by signing up using the link: Webull signup.

More Related questions...

What is ArgoCD and what problem does it solve? What is GitOps and how does ArgoCD implement it? What are the core components of ArgoCD? What is an ArgoCD Application and what fields does its manifest require? What are the different application sync statuses in ArgoCD? How do you install ArgoCD on a Kubernetes cluster? What is an ArgoCD Project and how does it differ from a Kubernetes namespace? How does ArgoCD support Helm charts? How does ArgoCD support Kustomize? What is self-healing in ArgoCD and how do you enable it? What is the difference between ArgoCD automated sync and self-healing? How does ArgoCD handle resource pruning and what risks does enabling it carry? What is the ArgoCD App of Apps pattern and when should you use it? How do ArgoCD Sync Waves and Sync Hooks work together to control deployment ordering? What is an ArgoCD ApplicationSet and how does the Git generator work? How does ArgoCD integrate with external secret management tools like Vault or Sealed Secrets? How do you configure ArgoCD RBAC and what are the built-in roles? What is ArgoCD Image Updater and how does it automate container image updates? How does ArgoCD manage multiple clusters and what are the methods for registering them? What are ArgoCD Sync Windows and how do you configure them? How does ArgoCD handle ignoreDifferences and when should you use it? What are ArgoCD resource health checks and how do you write a custom one? How does ArgoCD handle SSO and what identity providers does it support? What is the ArgoCD CLI and what are the most common commands used day-to-day? How does ArgoCD compare to Flux and when would you choose one over the other? What is server-side apply in ArgoCD and why might you enable it? How does ArgoCD handle notifications and what channels does it support? How do you perform a rollback in ArgoCD? What is the ArgoCD repository server caching strategy and how does it affect performance?


Comments & Discussions