Key Concepts
Cluster
A Kubernetes cluster connected to ArgoCD for application deployments.
API Server
The Kubernetes API server endpoint used for cluster communication.
Bearer Token
ServiceAccount token used to authenticate ArgoCD with the cluster.
Connection Status
Health status indicating whether ArgoCD can reach and authenticate with the cluster.
Required Permissions
| Action | Permission |
|---|---|
| View clusters | iam:project:cicd:argocd:read |
| Add clusters | iam:project:cicd:argocd:write |
| Delete clusters | iam:project:cicd:argocd:delete |
Connection Status
| Status | Description |
|---|---|
| Successful | Cluster is reachable and authentication succeeded |
| Failed | Connection or authentication failed |
| Unknown | Status not yet determined |
How to Add a Cluster
Required Fields
| Field | Required | Description |
|---|---|---|
| Cluster Name | Yes | Friendly identifier for the cluster |
| API Server URL | Yes | Kubernetes API server endpoint |
| Bearer Token | Yes | ServiceAccount token for authentication |
| CA Certificate | Conditional | Required unless TLS verification is disabled |
TLS Configuration
Secure Mode (Recommended)
When TLS verification is enabled (default), you must provide the CA certificate:| Field | Description |
|---|---|
| CA Certificate (caData) | Base64-encoded CA certificate for verifying the cluster’s TLS certificate |
Insecure Mode
Enable “Disable TLS Verification” to skip certificate validation.Cluster Options
| Option | Default | Description |
|---|---|---|
| Enable Cluster-wide Resources | Off | Allow ArgoCD to manage cluster-scoped resources (ClusterRole, Namespace, etc.) |
Enable cluster-wide resources only if your applications need to create or manage cluster-scoped Kubernetes resources.
How to Get Cluster Credentials
Follow these steps to obtain the required credentials from your Kubernetes cluster.Step 1: Create ServiceAccount
Apply the ArgoCD service account manifest to your cluster:- A ServiceAccount named
argocd-managerinkube-systemnamespace - A ClusterRoleBinding with cluster-admin privileges
- A long-lived token secret
Step 2: Retrieve Bearer Token
Get the bearer token from the created secret:Step 3: Retrieve CA Certificate
Get the cluster’s CA certificate:How to Delete a Cluster
Troubleshooting
Connection status shows Failed
Connection status shows Failed
- Verify the API server URL is correct and reachable
- Check if the bearer token is valid and not expired
- Ensure the ServiceAccount has sufficient permissions
- Verify network connectivity between ArgoCD and the cluster
- Check firewall rules allow traffic on the API server port
TLS certificate error
TLS certificate error
- Verify the CA certificate is correct and base64-encoded
- Ensure the certificate matches the cluster’s CA
- Try enabling insecure mode temporarily to verify other settings
- Check if the certificate has expired
Authentication failed
Authentication failed
- Verify the bearer token is correct and complete
- Check if the ServiceAccount still exists
- Ensure the token secret hasn’t been deleted
- Verify the ClusterRoleBinding is intact
- Recreate the ServiceAccount if necessary
Cannot create cluster resources
Cannot create cluster resources
- Enable “Cluster-wide Resources” option when adding the cluster
- Verify the ServiceAccount has cluster-admin or equivalent permissions
- Check project resource rules allow cluster-scoped resources
Cluster shows 0 applications
Cluster shows 0 applications
- Applications may not be synced yet
- Check if applications are targeting the correct cluster
- Verify application project allows deployment to this cluster
- Refresh the page to update counts
Cannot delete cluster
Cannot delete cluster
- Verify you have delete permission
- Check if applications are still deploying to this cluster
- Try refreshing the page and attempting again
FAQ
What is the 'in-cluster' cluster?
What is the 'in-cluster' cluster?
ArgoCD automatically includes the cluster where it’s installed as
in-cluster (or https://kubernetes.default.svc). This cluster cannot be deleted and is always available.Can I edit cluster settings after creation?
Can I edit cluster settings after creation?
Currently, clusters cannot be edited. To change settings, delete the cluster and add it again with the new configuration.
How often does ArgoCD check cluster connectivity?
How often does ArgoCD check cluster connectivity?
ArgoCD periodically checks cluster connectivity. The “Last Check” column shows when the last check occurred. Failed clusters are checked more frequently.
What permissions does the ServiceAccount need?
What permissions does the ServiceAccount need?
For full functionality, the ServiceAccount needs cluster-admin privileges or equivalent permissions to create, update, and delete resources across namespaces.
Can I use a kubeconfig file instead of bearer token?
Can I use a kubeconfig file instead of bearer token?
The UI requires bearer token authentication. For other authentication methods (client certificates, OIDC), use the ArgoCD CLI or API directly.
Why is my cluster version not showing?
Why is my cluster version not showing?
The version is retrieved during connectivity checks. If the cluster is unreachable or recently added, the version may not be available yet.
Can multiple ArgoCD instances connect to the same cluster?
Can multiple ArgoCD instances connect to the same cluster?
Yes. Each ArgoCD instance maintains its own cluster connections. The same Kubernetes cluster can be registered in multiple ArgoCD instances.
What happens if the bearer token expires?
What happens if the bearer token expires?
Cluster operations will fail with authentication errors. Create a new token and re-add the cluster with the updated credentials.
Best Practices
Security
- Use dedicated ServiceAccounts for ArgoCD (never share with other systems)
- Apply least-privilege principles where possible
- Use TLS verification in production (avoid insecure mode)
- Rotate bearer tokens periodically
- Audit cluster access and permissions regularly
Naming
- Use descriptive cluster names (e.g.,
prod-us-east-1,staging-eu-west) - Include environment and region in the name
- Keep names consistent across your organization
Connectivity
- Ensure stable network connectivity between ArgoCD and clusters
- Configure appropriate timeouts for distant clusters
- Monitor connection status for early issue detection
- Set up alerts for cluster connectivity failures
Resource Management
- Enable cluster-wide resources only when necessary
- Use ArgoCD projects to restrict which clusters applications can target
- Document which teams/applications use each cluster
- Remove unused cluster connections to reduce attack surface
Credential Management
- Store credentials securely before adding to the platform
- Document the ServiceAccount and secret locations
- Set up monitoring for ServiceAccount token expiration
- Have a runbook for credential rotation