Phase 4: Kubernetes & ArgoCD

Duration: 30-45 minutes
Purpose: Configure Kubernetes access and ArgoCD
Dependencies: Phase 3 complete, DNS working

Overview

This phase configures kubectl access to the GKE cluster and sets up ArgoCD for GitOps deployments. It includes ArgoCD Image Updater configuration and bootstrapping of the core applications.

📋 Setup Steps

  1. Kubectl Setup
  2. Configure kubectl for GKE cluster
  3. Verify cluster connectivity
  4. Test basic cluster operations

  5. ArgoCD Configuration

  6. Access ArgoCD web interface
  7. Configure GitLab OAuth authentication
  8. Set up RBAC permissions

  9. ArgoCD Image Updater

  10. Configure Image Updater for Artifact Registry
  11. Set up authentication credentials
  12. Test image update functionality

  13. GitOps Bootstrap

  14. Deploy ArgoCD root applications
  15. Bootstrap core system components
  16. Verify application sync status

🎯 Success Criteria

After completing this phase, you should have:

  1. Kubectl Access - Can execute kubectl commands against the cluster
  2. ArgoCD Web UI - Accessible at https://argocd.florenciacomuzzi.com
  3. GitLab OAuth - Can login to ArgoCD with GitLab credentials
  4. Image Updater - Configured for automatic image updates
  5. Core Apps Deployed - All base applications synced and healthy

⏭️ Next Phase

Once ArgoCD is configured and core applications are deployed, proceed to Phase 5: CI/CD Integration

🔧 Key Commands

# Configure kubectl
gcloud container clusters get-credentials blueberry-dev-cluster --region us-east1

# Test cluster connectivity
kubectl cluster-info
kubectl get nodes
kubectl get namespaces

# Check ArgoCD status
kubectl get pods -n argocd
kubectl get applications -n argocd

# Setup Image Updater
./scripts/setup-argocd-image-updater.sh

# Bootstrap applications
kubectl apply -f argocd-apps/root/blueberry-root-dev.yaml

📊 ArgoCD Applications

Application Purpose Status Sync Wave
argocd-appproject Security boundaries Must be healthy 0
argocd-repos Repository credentials Must be healthy -10
external-secrets Secret management Must be healthy -10
argocd-image-updater Automated updates Must be healthy -5
blueberry Main application Deploy later 10

⏰ Timing Considerations

  • Kubectl Configuration: 2-3 minutes
  • ArgoCD Access: 5-10 minutes (depends on DNS/SSL)
  • Image Updater Setup: 5-10 minutes
  • App Synchronization: 5-15 minutes per application

🚨 Common Issues

  • Cluster Access: Verify GCP credentials and project
  • ArgoCD Loading: Check DNS and SSL certificate status
  • Sync Failures: Review application logs and prerequisites
  • Image Updater: Ensure Artifact Registry permissions are correct

📚 Documentation

Document ID: setup/04-kubernetes/README