Prerequisites
- Kubernetes cluster (version 1.27+)
- kubectl CLI configured to access your cluster
- Cluster-admin access (for standard installation)
Installation
1
Create the namespace
Create a dedicated namespace for Argo CD:
2
Apply the installation manifest
Install Argo CD using the stable release:For a specific version, replace
The
--server-side --force-conflicts flags are required because some Argo CD CRDs exceed the size limit for client-side apply.stable with the version tag:3
Verify installation
Wait for all pods to be ready:You should see the following components:
Installed Components
The standard installation includes the following components:- Core Components
- Supporting Services
API Server (argocd-server)
- Type: Deployment (1 replica)
- Purpose: Provides the Web UI and gRPC/REST API
- Exposes: Port 8080 (HTTP), 8083 (HTTPS)
Application Controller (argocd-application-controller)
- Type: StatefulSet (1 replica)
- Purpose: Monitors applications and reconciles desired state
- Watches: Git repositories and Kubernetes clusters
Repository Server (argocd-repo-server)
- Type: Deployment (1 replica)
- Purpose: Clones Git repos and generates manifests
- Supports: Helm, Kustomize, Jsonnet, and custom plugins
Manifest Structure
Theinstall.yaml manifest contains:
Accessing Argo CD
- Port Forwarding
- Load Balancer
- Ingress
Initial Admin Password
Retrieve the initial admin password:- Username:
admin - Password: (retrieved from command above)
Change the admin password after first login and delete the
argocd-initial-admin-secret secret.Namespace-Level Installation
For installations that only deploy to external clusters, use the namespace-install variant:The namespace-install.yaml does not include:
- ClusterRole or ClusterRoleBinding
- CRDs (must be installed separately)
- Ability to deploy to the local cluster without explicit credentials
Installing with Kustomize
Create akustomization.yaml file:
Custom Namespace
To install in a custom namespace:Upgrading
To upgrade to a new version:<version> with the desired version tag (e.g., v2.14.0).
Uninstalling
To remove Argo CD:Next Steps
Configure SSO
Set up Single Sign-On authentication
Add Repositories
Connect Git repositories to Argo CD
Create Applications
Deploy your first application
High Availability
Upgrade to HA for production
Troubleshooting
Pods stuck in Pending state
Pods stuck in Pending state
Check resource requests and node capacity:The standard installation requires moderate resources. Consider adjusting resource requests if needed.
Cannot access the UI
Cannot access the UI
Verify the argocd-server service is running:Check if port-forwarding is active and not blocked by firewalls.
CRD size limit errors
CRD size limit errors
If you see errors about CRD size limits, ensure you’re using the
--server-side --force-conflicts flags: