Prerequisites
- Running Kubernetes cluster (EKS, GKE, AKS, or self-managed)
- Helm installed
- kubectl configured
- Git repository with Kubernetes manifests
Installing ArgoCD
Accessing ArgoCD Dashboard
Access the ArgoCD UI using the LoadBalancer URL with:
- Username:
admin - Password: Retrieved from the previous step
Creating an Application
Option 1: Using the UI
Configure Application Settings
Fill in the application details:
- Application Name: testapp
- Project: default
- Sync Policy: Manual or Automatic
- Repository URL: https://github.com/networknuts/argocd
- Path: releaseone
- Cluster URL: https://kubernetes.default.svc (for same cluster)
- Namespace: target namespace for deployment
Option 2: Using YAML Manifest
application.yaml
GitOps Workflow
Automatic Sync (if enabled)
If automatic sync is enabled, ArgoCD will apply changes immediately. Otherwise, click Sync in the UI.
Getting Cluster URL
Sync Policies
Manual Sync
Manual Sync
Requires manual approval to sync changes from Git to the cluster. Provides more control over deployments.
Automatic Sync
Automatic Sync
Automatically syncs changes from Git to the cluster when detected.
- prune: Delete resources that are no longer in Git
- selfHeal: Revert manual changes made to the cluster
Alternative Installation (Custom Template)
For advanced customization:Best Practices
- Use separate Git repositories for application code and Kubernetes manifests
- Implement branch-based deployments (main → production, develop → staging)
- Enable automated sync only after thorough testing
- Use ArgoCD Projects to organize applications and enforce policies
- Monitor sync status and set up alerts for failed deployments
ArgoCD supports multiple source types including Helm charts, Kustomize, Jsonnet, and plain YAML manifests.