GKE Basics & Critical Gotchas
Routing Note: For Workload Identity KSA/GSA setup, open
gke-workload-identity/SKILL.md. For cluster security flags (--database-encryption-key,--security-posture, RBAC, Shielded Nodes, Binary Authorization), opengke-platform-security/SKILL.md. For cluster upgrades or maintenance windows, opengke-upgrades/SKILL.md. For generating Kubernetes YAML manifests (Deployment,StatefulSet,Service,HTTPRoute,PodDisruptionBudget), opengke-manifest-generation/SKILL.md.
Managed Kubernetes platform on Google Cloud. Defaults to Autopilot mode unless Standard is explicitly required.
Key Selection Rules: Autopilot vs. Standard
- Default to Autopilot for almost all workloads.
- Use Standard ONLY if:
- Custom node OS kernel parameters (
sysctl) are required. - Custom node taints or specific hardware node pools are required.
- DaemonSets require raw
hostPathmounts to the host OS filesystem.
- Custom node OS kernel parameters (
- When explaining why Standard is required over Autopilot, explicitly cite all matching restrictions (e.g., custom sysctls and custom node taints).
- For advanced cluster architecture or complex node pool creation planning, refer to
gke-cluster-creation.
Critical Gotchas & Best Practices
Private Autopilot Clusters:
- Use
--enable-private-nodesfor private node IP addresses. - Use
--enable-private-endpointto disable public IP access to the control plane. - Restrict control plane access with
--enable-master-authorized-networksand--master-authorized-networks=CIDR_BLOCK:gcloud container clusters create-auto CLUSTER_NAME --region=REGION \ --enable-private-nodes \ --enable-private-endpoint \ --enable-master-authorized-networks \ --master-authorized-networks=CIDR_BLOCK
- Use
Workload Identity (IAM Binding):
- Never mount raw GCP Service Account JSON keys in Pods; open
gke-workload-identity/SKILL.mdfor KSA/GSA setup.
- Never mount raw GCP Service Account JSON keys in Pods; open
Autopilot Resource Requests:
- In Autopilot, CPU requests must be specified in increments of 250m (0.25 vCPU). If an unaligned CPU request (e.g., 300m) is requested, round up to the nearest 250m increment (500m / 0.5 vCPU).
- Resource requests equal limits automatically. Omit
limitsto allow Autopilot to set defaults matchingrequests.
Cluster Credentials:
- Always explicitly specify
--region(for regional clusters) or--zone(for zonal clusters) when fetching credentials:gcloud container clusters get-credentials CLUSTER_NAME --region=REGION --quiet
- Always explicitly specify
Reference Directory
Core Concepts: Architecture, cluster modes (Autopilot vs Standard), networking, scaling, and security model.
CLI Usage & Tool Reference: Tool preference hierarchy (MCP vs gcloud vs kubectl),
gcloud containercommands, and user preference overrides.Client Libraries: Official Kubernetes and Google Cloud Container client libraries in Python, Go, Node.js, and Java.
MCP Usage: Connecting to and using the 23 structured GKE MCP tools for cluster management, K8s resources, and diagnostics.
Infrastructure as Code: Terraform examples for
google_container_cluster(Autopilot), Kubernetes provider resources, and YAML samples.