Troubleshooting Tools
Argo CD providesargocd admin subcommands to validate settings and troubleshoot connectivity issues.
Settings Validation
Validate Argo CD configuration before applying to production:- ConfigMap settings (argocd-cm)
- RBAC policies (argocd-rbac-cm)
- Resource customizations
- Repository credentials
Common Issues
Application Sync Failures
Application stuck in 'OutOfSync' state
Application stuck in 'OutOfSync' state
Symptoms: Application shows OutOfSync but sync operation fails or doesn’t start.Diagnosis:Common causes:
- Invalid manifests in Git repository
- Resource quota exceeded in target cluster
- RBAC permissions preventing resource creation
- Cluster connectivity issues
Context deadline exceeded errors
Context deadline exceeded errors
Symptoms: Application reconciliation fails with
Context deadline exceeded.Root cause: Manifest generation is taking too long, exceeding the controller timeout.Solutions:Sync operation permissions errors
Sync operation permissions errors
Symptoms: Sync fails with “insufficient permissions” or RBAC errors.Diagnosis:Solution: Update AppProject to allow resources:
Git Repository Issues
Failed to fetch repository
Failed to fetch repository
Symptoms: Applications can’t connect to Git repositories.Diagnosis:Common causes:For SSH repositories:
- Invalid credentials
- Network connectivity issues
- SSH key not configured
- Certificate validation failures
Git ls-remote failures
Git ls-remote failures
Symptoms: Intermittent failures resolving Git references (branches, tags).Solution: Increase retry count for Git operations:
Cluster Connectivity Issues
Cluster connection failed
Cluster connection failed
Symptoms: Managed cluster shows as “Unreachable” or “Unknown” in UI.Diagnosis:Common issues:
- Expired certificates
- Invalid bearer tokens
- Network policies blocking traffic
- API server URL changed
Resource Customization Issues
Test custom health checks
Test custom health checks
Custom health checks can be tested before applying to production:Example health check (Lua):
Test diff customizations
Test diff customizations
Test ignore differences configurations:Shows which fields will be ignored during diff operations.
Test resource actions
Test resource actions
Execute custom resource actions:
Performance Issues
Slow reconciliation times
Slow reconciliation times
High memory usage
High memory usage
Symptoms: Argo CD components OOMKilled or using excessive memory.Common causes:For application controller:Mount persistent volume for repo server:
- Too many cached resources
- Large repositories
- Too many applications per controller
Repository contention
Repository contention
Symptoms: High
argocd_repo_pending_request_total metric.Cause: Multiple applications in same repository causing sequential processing.Solutions:- Enable concurrent processing (create
.argocd-allow-concurrencyfile) - Scale repo server horizontally
- Split applications into separate repositories
- Use manifest path annotations
Application Health Issues
Application showing 'Unknown' health
Application showing 'Unknown' health
Cause: No health check defined for resource type.Solution: Add custom health check:
Application stuck in 'Progressing' state
Application stuck in 'Progressing' state
Diagnosis:Common causes:
- Pods stuck in ImagePullBackOff
- Insufficient resources (CPU/memory)
- Failing health checks
- Init containers not completing
Debugging Commands
Log Collection
Resource Inspection
Configuration Verification
Getting Help
GitHub Issues
Search existing issues or create new ones:
argoproj/argo-cd
Slack Community
Join the Argo CD community:
CNCF Slack #argo-cd
Documentation
Official Argo CD docs:
argo-cd.readthedocs.io
Stack Overflow
Ask questions with the
argocd tag:
stackoverflow.com