Overview
ArgoCD enables GitOps-based continuous delivery for MCP Server, automatically syncing Kubernetes resources from Git to multiple GKE clusters. Changes in Git trigger automated deployments with rollback capabilities.Multi-Cluster
Auto-Sync
Image Updater
Workload Identity
GitOps Benefits
Single Source of Truth
Single Source of Truth
- No manual
kubectl apply - Full audit trail (Git history)
- Easy rollback (
git revert)
Automated Deployment
Automated Deployment
- Merge PR → Automatic deployment
- Reduced manual errors
- Consistent across environments
Multi-Cluster Management
Multi-Cluster Management
- Dev, staging, prod from single UI
- ApplicationSets for environment parity
- Centralized observability
Image Automation
Image Automation
- Monitors Artifact Registry
- Creates PRs with new image tags
- Semantic versioning support
Architecture
Flow:- Developer pushes code → GitHub
- CI/CD builds image → Artifact Registry
- ArgoCD Image Updater detects new image
- Creates PR with updated image tag
- After PR merge, ArgoCD syncs to cluster
Quick Setup (15 minutes)
Run Setup Script
- Installs ArgoCD in
argocdnamespace - Installs ArgoCD Image Updater
- Configures Workload Identity
- Sets up GCP service account with registry access
Get ArgoCD Admin Password
Access ArgoCD UI
- Port Forward (Quick)
- Ingress (Production)
Add GKE Clusters
- Using argocd CLI
- Using Secrets (Declarative)
Deploy ApplicationSet
Verify Sync
ApplicationSet for Multi-Environment
Configuration
Sync Policies
- Automated (Recommended)
- Manual
- Hybrid
- Git commit → Automatic deployment
- Manual changes reverted within 3 minutes
- Resources removed from Git are deleted
ArgoCD Image Updater
Purpose
Automatically update container image tags when new versions are pushed to Artifact Registry.Configuration
Configure Registry Access
Annotate Application
Update Strategy Options
- Semver (Recommended)
- Latest
- Digest
Workflow
Deployment Patterns
Progressive Delivery
1. Deploy to Dev (Automatic)
2. Promote to Staging (Manual Sync)
3. Promote to Production (Approval Required)
- Via GitHub Actions
- Via ArgoCD Sync Waves
Canary Deployment
Use Flagger with ArgoCD for automated canary analysis:- ArgoCD syncs new version
- Flagger creates canary deployment (10% traffic)
- Monitors metrics for 1 minute
- If healthy, increases to 20%, 30%, … 100%
- If unhealthy, auto-rollback
Monitoring & Troubleshooting
Application Health
- Via CLI
- Via UI
Common Issues
Application stuck in 'Progressing'
Application stuck in 'Progressing'
- Deployment rollout waiting for pods
- Resource quota exceeded
- Image pull errors
Out of Sync despite automated sync
Out of Sync despite automated sync
- Manual
kubectlchanges (selfHeal disabled) - Ignored differences (e.g., replicas managed by HPA)
- Sync failed due to error
Image Updater not detecting new images
Image Updater not detecting new images
roles/artifactregistry.reader to GCP SACluster not reachable
Cluster not reachable
Security Best Practices
Related Documentation
GKE Production
Binary Authorization
CI/CD Pipeline
Operations Runbooks
Next Steps
Install ArgoCD
Add Clusters
Deploy ApplicationSet
Configure Image Updater
Enable Monitoring