GKE Cluster Requirements for CI/CD
Overview
The CI/CD pipeline requires GKE clusters to exist before deployment workflows can succeed. This document outlines the required clusters and how to create them.Required Clusters
Staging Cluster
Name:staging-mcp-server-langgraph-gke
Location: us-central1
Project: vishnu-sandbox-20250310
Type: GKE Autopilot (recommended) or Standard
Creation via Terraform:
Production Cluster
Name:production-mcp-server-langgraph-gke
Location: us-central1
Project: vishnu-sandbox-20250310
Type: GKE Autopilot
Creation via Terraform:
CI/CD Workflow Dependencies
deploy-staging-gke.yaml
This workflow requires:- ✅ GKE cluster:
staging-mcp-server-langgraph-gkeinus-central1 - ✅ Service account:
github-actions-staging@vishnu-sandbox-20250310.iam.gserviceaccount.com - ✅ Artifact Registry:
mcp-stagingrepository - ✅ GitHub variable:
ENABLE_STAGING_AUTODEPLOY=true
- Push to
mainbranch (whenENABLE_STAGING_AUTODEPLOY=true) - Manual dispatch
- ❌ Cluster not found error: The cluster
staging-mcp-server-langgraph-gkedoes not exist in the specified location.
deploy-production-gke.yaml
This workflow requires:- ⚠️ GKE cluster:
production-mcp-server-langgraph-gkeinus-central1 - ✅ Service account:
github-actions-production@vishnu-sandbox-20250310.iam.gserviceaccount.com - ✅ Artifact Registry:
mcp-productionrepository
- Manual dispatch (requires approval)
- Release tags
Verification
After creating clusters, verify they’re accessible:Terraform Module Reference
The GKE Autopilot module is located at:terraform/modules/gke-autopilot/
Features:
- Autopilot mode (Google-managed nodes)
- VPC-native networking
- Workload Identity Federation support
- Master authorized networks
- Binary authorization (optional)
- Backup agent integration
- Config Connector support
- ✅ Duplicate lifecycle blocks merged (commit b6ac198)
- ✅ Variable validation moved to lifecycle preconditions
- ✅ Terraform validation added to pre-commit hooks
Troubleshooting
Error: Cluster not found
Symptom:Error: Permission denied
Symptom:container.developer role:
Error: Artifact Registry repository not found
Solution: Create the Artifact Registry repositories:Auto-Deploy Configuration
The deployment workflows check repository variables to determine if auto-deploy is enabled:Related Documentation
Last Updated
2025-11-04 (Commit: b6ac198) Status:- Terraform module: ✅ Fixed and validated
- Service accounts: ✅ Created and configured
- Auto-deploy variables: ✅ Set
- GKE clusters: ❌ Need to be created