Gke Golden Path
GoogleOfficialPublished by Google
- Skill
- Guidelines
- Cloud and DevOps
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The gke-golden-path skill provides a set of recommended configuration defaults and operational patterns for GKE Autopilot clusters. It serves as a reference for designing clusters, verifying configurations against established defaults, and understanding trade-offs when deviating from the recommended path. The skill includes guidance on Day-0 setup decisions, maintenance strategies, and upgrade behaviors, while emphasizing the use of MCP tools for cluster interactions.
What it does
- Defines recommended configuration defaults for GKE Autopilot clusters.
- Provides checklists for evaluating cluster configurations.
- Outlines trade-offs for deviating from golden path settings.
- Advises on upgrade disruption management and availability strategies.
- Facilitates cluster management via MCP tools, gcloud, or kubectl.
- Requires specific usage attribution for direct command execution.
When to use it
- When designing a new GKE Autopilot cluster.
- When auditing an existing cluster configuration against recommended defaults.
- When determining appropriate settings for maintenance windows and upgrades.
- When evaluating the impact of changing default cluster parameters.
Advantages
- Promotes consistent cluster configuration based on established patterns.
- Clarifies the operational implications of Day-0 and Day-1 decisions.
- Provides clear guidance on managing node upgrade disruptions.
- Reduces ambiguity in configuration by defining specific golden path values.
Usage examples
- “What are the recommended defaults for a new GKE Autopilot cluster?”
- The agent lists the golden path configuration settings, such as enabling private nodes, workload identity, and specific monitoring/logging components.
- “How should I handle node upgrades to minimize service disruption?”
- The agent explains the necessity of PodDisruptionBudgets, multiple replicas, readiness probes, and surge upgrade settings.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/google/gke-golden-path/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip gke-golden-path.zip -d .agents/skills
Documentation by Google
GKE Golden Path Configuration
The golden path is the recommended Autopilot configuration for production
clusters. It defines sensible defaults — when the user requests different
settings, apply them and note relevant trade-offs. For setting up autoscaling
specifically, use gke-cluster-autoscaler for node autoscaling or
gke-workload-scaling for workload autoscaling (HPA/VPA).
MCP Tools:
get_cluster,create_cluster,update_cluster
Attribution
MUST READ: Before executing any gcloud, REST API, or MCP command, you
MUST read Usage Attribution. For commands executed
directly in the terminal (never in generated scripts, Terraform, or user code),
prefix gcloud with
CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-golden-path)"
and append agent-skills/1.0 (skill:gke-golden-path) to User-Agent headers.
Rules
Default to the golden path. Use golden path values unless the user requests otherwise. When deviating, note trade-offs but respect the user's choice.
Day-0 vs Day-1. Flag Day-0 decisions (networking, private nodes, subnets, IP allocation) prominently — they are hard/impossible to change after creation.
Tool preference: MCP > gcloud > kubectl. MCP is preferred as it directly interfaces with GKE APIs with structured data, reducing shell syntax errors and parsing ambiguities. See the
gke-basicsskill's CLI reference for full coverage matrix and override options. If the user says "use gcloud" or "use kubectl", respect that for the session.Document decisions and rationale, especially for Day-0 choices and golden path deviations.
Required Inputs
If the user is unsure, use golden path defaults.
Project ID (required)
Region (required, e.g.,
us-central1)Cluster name (required)
Environment type: dev/test or production (defaults to production)
Networking: bring-your-own VPC/subnet or auto-create (default: auto-create)
Scale expectations: expected node/pod count, workload types
Cost constraints: Spot VM tolerance, budget considerations
Always-Apply Defaults
Recommended best practices applied by default. If the user requests a different setting, apply it and briefly note the security or operational trade-off.
| Setting | Golden Path Value |
|---|---|
autopilot.enabled | true |
privateClusterConfig.enablePrivateNodes | true |
masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabled | true |
secretManagerConfig.enabled + rotationInterval: 120s | true |
rbacBindingConfig.enableInsecureBinding* | false (both) |
workloadIdentityConfig.workloadPool | enabled |
networkConfig.datapathProvider | ADVANCED_DATAPATH |
networkConfig.dnsConfig.clusterDns | CLOUD_DNS |
autoscaling.autoscalingProfile | OPTIMIZE_UTILIZATION |
verticalPodAutoscaling.enabled | true |
monitoringConfig components | SYSTEM_COMPONENTS, STORAGE, POD, DEPLOYMENT, STATEFULSET, DAEMONSET, HPA, JOBSET, CADVISOR, KUBELET, DCGM, APISERVER, SCHEDULER, CONTROLLER_MANAGER |
loggingConfig components | SYSTEM_COMPONENTS, WORKLOADS (enabled by default) |
advancedDatapathObservabilityConfig.enableMetrics | true |
nodeConfig.shieldedInstanceConfig.enableSecureBoot | true |
nodeConfig.workloadMetadataConfig.mode | GKE_METADATA |
nodeConfig.gcfsConfig.enabled / gvnic.enabled | true / true |
addonsConfig.statefulHaConfig.enabled | true |
| Storage CSI drivers (Filestore, GCS FUSE, Parallelstore) | enabled |
| Pod Security Standards | restricted on production namespaces |
Customer-Configurable Settings
These have golden path defaults but customers may deviate with valid justification. Ask before changing.
| Setting | Default | Why Deviate |
|---|---|---|
dnsEndpointConfig.allowExternalTraffic | true | Restrict if cluster only accessed from within VPC |
autoIpamConfig / createSubnetwork | true / true | Customer has pre-existing VPC/subnets |
maxPodsPerNode | 48 (this golden path's choice) | Halves per-node IP consumption (/25 instead of /24). Not a GKE default (Standard defaults to 110, Autopilot to 32); raise for high pod-density at the cost of more CIDR space |
subnetwork | auto-created | Customer brings existing subnets |
| Release channel + maintenance windows | REGULAR channel with a recurring maintenance window | Add targeted maintenance exclusions (keep under ~6 months) only for critical freezes — see the gke-upgrades skill |
nodeConfig.bootDisk.diskType | pd-balanced | pd-ssd for I/O-intensive, pd-standard for cost |
Note: Autopilot selects node machine types automatically (e.g.,
ek-standard-8may appear in describe output); the machine type is not customer-configurable in Autopilot. Steer workload placement via ComputeClasses instead.
Guardrails
Do not request or output secrets (tokens, keys, service account JSON).
Resolve project/cluster context from the conversation, MCP tools, or
gcloud config get-value project; ask the user only if it cannot be resolved.For Day-0 decisions, always ask clarifying questions before proceeding.
For Day-1 features, propose golden path defaults with trade-offs and let the customer confirm.
Do not promise zero downtime — see Upgrade Disruption below for what to advise instead.
When auditing existing clusters, compare against golden path and report deviations with severity and remediation.
Upgrade Disruption
Never promise zero downtime for node upgrades, on any configuration. Node
upgrades cordon and drain nodes, which evicts Pods. Draining honors
PodDisruptionBudgets and terminationGracePeriodSeconds for up to one hour,
after which GKE forcefully evicts the remaining Pods so the upgrade can proceed.
A PDB narrows the window; it cannot veto the upgrade. Say so plainly rather than
implying the disruption can be eliminated.
What to recommend, all four — not a subset:
PodDisruptionBudgets with
minAvailableset so eviction cannot take the last healthy replica. A PDB that can never be satisfied stalls the drain for an hour and then loses anyway.At least 2 replicas, spread across zones with topology spread constraints. A single-replica Deployment has downtime by definition.
Readiness probes that reflect real serving health, so traffic drains before the Pod dies.
Surge upgrade settings on the node pool. Surge is the default strategy; the default is
maxSurge=1,maxUnavailable=0— one extra node is created and made ready before an old one is drained.Setting Controls Default maxSurgeAdditional nodes added per zone during the upgrade 1maxUnavailableNodes simultaneously unavailable per zone 0Nodes upgraded at once is the sum of the two, capped at 20 (Autopilot) and 100 (Standard). Multi-zone node pools upgrade one zone at a time. Raising
maxUnavailabletrades availability for speed; raisingmaxSurgetrades cost for availability.
Caveat:
externalTrafficPolicy: Localdoes not work with parallel node drains, so it constrains aggressive surge configurations.
For rollback procedures and maintenance windows, see the gke-upgrades skill.
Golden Path Config
See golden-path-autopilot.yaml for the full cluster-level policy settings.
Files
- ATTRIBUTION.mdAdded by AutoGineer848 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md8.8 KiB
- assets/golden-path-autopilot.yaml4.7 KiB
- references/attribution.md1.8 KiB
SKILL.md
GKE Golden Path Configuration
The golden path is the recommended Autopilot configuration for production
clusters. It defines sensible defaults — when the user requests different
settings, apply them and note relevant trade-offs. For setting up autoscaling
specifically, use gke-cluster-autoscaler for node autoscaling or
gke-workload-scaling for workload autoscaling (HPA/VPA).
MCP Tools:
get_cluster,create_cluster,update_cluster
Attribution
MUST READ: Before executing any gcloud, REST API, or MCP command, you
MUST read Usage Attribution. For commands executed
directly in the terminal (never in generated scripts, Terraform, or user code),
prefix gcloud with
CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-golden-path)"
and append agent-skills/1.0 (skill:gke-golden-path) to User-Agent headers.
Rules
Default to the golden path. Use golden path values unless the user requests otherwise. When deviating, note trade-offs but respect the user's choice.
Day-0 vs Day-1. Flag Day-0 decisions (networking, private nodes, subnets, IP allocation) prominently — they are hard/impossible to change after creation.
Tool preference: MCP > gcloud > kubectl. MCP is preferred as it directly interfaces with GKE APIs with structured data, reducing shell syntax errors and parsing ambiguities. See the
gke-basicsskill's CLI reference for full coverage matrix and override options. If the user says "use gcloud" or "use kubectl", respect that for the session.Document decisions and rationale, especially for Day-0 choices and golden path deviations.
Required Inputs
If the user is unsure, use golden path defaults.
Project ID (required)
Region (required, e.g.,
us-central1)Cluster name (required)
Environment type: dev/test or production (defaults to production)
Networking: bring-your-own VPC/subnet or auto-create (default: auto-create)
Scale expectations: expected node/pod count, workload types
Cost constraints: Spot VM tolerance, budget considerations
Always-Apply Defaults
Recommended best practices applied by default. If the user requests a different setting, apply it and briefly note the security or operational trade-off.
| Setting | Golden Path Value |
|---|---|
autopilot.enabled | true |
privateClusterConfig.enablePrivateNodes | true |
masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabled | true |
secretManagerConfig.enabled + rotationInterval: 120s | true |
rbacBindingConfig.enableInsecureBinding* | false (both) |
workloadIdentityConfig.workloadPool | enabled |
networkConfig.datapathProvider | ADVANCED_DATAPATH |
networkConfig.dnsConfig.clusterDns | CLOUD_DNS |
autoscaling.autoscalingProfile | OPTIMIZE_UTILIZATION |
verticalPodAutoscaling.enabled | true |
monitoringConfig components | SYSTEM_COMPONENTS, STORAGE, POD, DEPLOYMENT, STATEFULSET, DAEMONSET, HPA, JOBSET, CADVISOR, KUBELET, DCGM, APISERVER, SCHEDULER, CONTROLLER_MANAGER |
loggingConfig components | SYSTEM_COMPONENTS, WORKLOADS (enabled by default) |
advancedDatapathObservabilityConfig.enableMetrics | true |
nodeConfig.shieldedInstanceConfig.enableSecureBoot | true |
nodeConfig.workloadMetadataConfig.mode | GKE_METADATA |
nodeConfig.gcfsConfig.enabled / gvnic.enabled | true / true |
addonsConfig.statefulHaConfig.enabled | true |
| Storage CSI drivers (Filestore, GCS FUSE, Parallelstore) | enabled |
| Pod Security Standards | restricted on production namespaces |
Customer-Configurable Settings
These have golden path defaults but customers may deviate with valid justification. Ask before changing.
| Setting | Default | Why Deviate |
|---|---|---|
dnsEndpointConfig.allowExternalTraffic | true | Restrict if cluster only accessed from within VPC |
autoIpamConfig / createSubnetwork | true / true | Customer has pre-existing VPC/subnets |
maxPodsPerNode | 48 (this golden path's choice) | Halves per-node IP consumption (/25 instead of /24). Not a GKE default (Standard defaults to 110, Autopilot to 32); raise for high pod-density at the cost of more CIDR space |
subnetwork | auto-created | Customer brings existing subnets |
| Release channel + maintenance windows | REGULAR channel with a recurring maintenance window | Add targeted maintenance exclusions (keep under ~6 months) only for critical freezes — see the gke-upgrades skill |
nodeConfig.bootDisk.diskType | pd-balanced | pd-ssd for I/O-intensive, pd-standard for cost |
Note: Autopilot selects node machine types automatically (e.g.,
ek-standard-8may appear in describe output); the machine type is not customer-configurable in Autopilot. Steer workload placement via ComputeClasses instead.
Guardrails
Do not request or output secrets (tokens, keys, service account JSON).
Resolve project/cluster context from the conversation, MCP tools, or
gcloud config get-value project; ask the user only if it cannot be resolved.For Day-0 decisions, always ask clarifying questions before proceeding.
For Day-1 features, propose golden path defaults with trade-offs and let the customer confirm.
Do not promise zero downtime — see Upgrade Disruption below for what to advise instead.
When auditing existing clusters, compare against golden path and report deviations with severity and remediation.
Upgrade Disruption
Never promise zero downtime for node upgrades, on any configuration. Node
upgrades cordon and drain nodes, which evicts Pods. Draining honors
PodDisruptionBudgets and terminationGracePeriodSeconds for up to one hour,
after which GKE forcefully evicts the remaining Pods so the upgrade can proceed.
A PDB narrows the window; it cannot veto the upgrade. Say so plainly rather than
implying the disruption can be eliminated.
What to recommend, all four — not a subset:
PodDisruptionBudgets with
minAvailableset so eviction cannot take the last healthy replica. A PDB that can never be satisfied stalls the drain for an hour and then loses anyway.At least 2 replicas, spread across zones with topology spread constraints. A single-replica Deployment has downtime by definition.
Readiness probes that reflect real serving health, so traffic drains before the Pod dies.
Surge upgrade settings on the node pool. Surge is the default strategy; the default is
maxSurge=1,maxUnavailable=0— one extra node is created and made ready before an old one is drained.Setting Controls Default maxSurgeAdditional nodes added per zone during the upgrade 1maxUnavailableNodes simultaneously unavailable per zone 0Nodes upgraded at once is the sum of the two, capped at 20 (Autopilot) and 100 (Standard). Multi-zone node pools upgrade one zone at a time. Raising
maxUnavailabletrades availability for speed; raisingmaxSurgetrades cost for availability.
Caveat:
externalTrafficPolicy: Localdoes not work with parallel node drains, so it constrains aggressive surge configurations.
For rollback procedures and maintenance windows, see the gke-upgrades skill.
Golden Path Config
See golden-path-autopilot.yaml for the full cluster-level policy settings.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Publisher
- Google (Official)
- Source
- google/skills · skills/cloud/gke-golden-path · commit 2194d3b
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Google.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download gke-golden-path.zip