Installation Types
Argo CD has two primary installation types:Multi-Tenant
Full-featured installation with UI, API, and RBAC for serving multiple teams
Core
Lightweight headless installation for single-cluster GitOps
Multi-Tenant Installation
The multi-tenant installation is the most common deployment method, typically maintained by a platform team to service multiple application developer teams.Standard Installation
Recommended for: Testing, demonstrations, and single-cluster deployments
- API Server (argocd-server)
- Repository Server (argocd-repo-server)
- Application Controller (argocd-application-controller)
- Redis
- Dex (for SSO)
- ApplicationSet Controller
- Notifications Controller
Standard Installation
Get started with the standard installation
High Availability Installation
The HA installation includes the same components but configured for high availability: Key Differences:- Multiple replicas for critical components
- Redis HA with Sentinel
- Pod anti-affinity rules
- Requires at least 3 nodes
HA Installation
Set up Argo CD for production
Installation Comparison
- Standard vs HA
- Multi-Tenant vs Core
| Component | Standard | High Availability |
|---|---|---|
| API Server | 1 replica | Multiple replicas |
| Repo Server | 1 replica | Multiple replicas |
| Application Controller | 1 replica (StatefulSet) | Multiple replicas (StatefulSet) |
| Redis | Single instance | Redis HA with Sentinel |
| Use Case | Testing, demos | Production |
| Min Nodes | 1 | 3 (due to anti-affinity) |
| IPv6 Support | Yes | No |
Cluster Access Modes
Argo CD supports two cluster access modes:Cluster-Admin Access
install.yaml - Standard installation with cluster-admin access- Use when Argo CD manages applications in the same cluster it runs in
- Can deploy to
kubernetes.svc.default(in-cluster) - Can also deploy to external clusters with credentials
- Includes ClusterRole and ClusterRoleBinding
The ClusterRoleBinding is bound to a ServiceAccount in the
argocd namespace. Be cautious when changing the namespace - update the ClusterRoleBinding accordingly.Namespace-Level Access
namespace-install.yaml - Installation with namespace-level privileges only- Use when Argo CD only deploys to external clusters
- No cluster-level permissions required
- Ideal for multi-instance deployments (different teams/namespaces)
- Can still deploy to same cluster with explicit credentials
- Only deploys Argo CD resources (Applications, ApplicationSets, AppProjects) locally
Installation Methods
Argo CD manifests can be installed using multiple methods:- kubectl
- Kustomize
- Helm
Direct installation using kubectl:
The
--server-side --force-conflicts flags are required because some CRDs exceed the size limit for client-side apply.Custom Namespace Installation
To install Argo CD in a custom namespace, use Kustomize to patch the ClusterRoleBinding:Next Steps
Choose Installation Type
Select between Standard, High Availability, or Core Mode based on your requirements.