Generated banner for Gke Golden Path
Generated logo for Gke Golden Path

Gke Golden Path

GoogleOfficialPublished by Google

  • Skill
  • Guidelines
  • Cloud and DevOps
  • Apache-2.0
  • No issues found

From the author

Provides GKE golden path configuration defaults, production readiness checklists, and cluster default patterns. Use when designing GKE clusters, verifying GKE production readiness, or checking configurations against GKE defaults. Don't use for setting up workload autoscaling specifically (use gke-workload-scaling instead).
— the description by Google

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/google/gke-golden-path/download
  2. Unzip 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

  1. 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.

  2. Day-0 vs Day-1. Flag Day-0 decisions (networking, private nodes, subnets, IP allocation) prominently — they are hard/impossible to change after creation.

  3. 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-basics skill's CLI reference for full coverage matrix and override options. If the user says "use gcloud" or "use kubectl", respect that for the session.

  4. 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.

SettingGolden Path Value
autopilot.enabledtrue
privateClusterConfig.enablePrivateNodestrue
masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabledtrue
secretManagerConfig.enabled + rotationInterval: 120strue
rbacBindingConfig.enableInsecureBinding*false (both)
workloadIdentityConfig.workloadPoolenabled
networkConfig.datapathProviderADVANCED_DATAPATH
networkConfig.dnsConfig.clusterDnsCLOUD_DNS
autoscaling.autoscalingProfileOPTIMIZE_UTILIZATION
verticalPodAutoscaling.enabledtrue
monitoringConfig componentsSYSTEM_COMPONENTS, STORAGE, POD, DEPLOYMENT, STATEFULSET, DAEMONSET, HPA, JOBSET, CADVISOR, KUBELET, DCGM, APISERVER, SCHEDULER, CONTROLLER_MANAGER
loggingConfig componentsSYSTEM_COMPONENTS, WORKLOADS (enabled by default)
advancedDatapathObservabilityConfig.enableMetricstrue
nodeConfig.shieldedInstanceConfig.enableSecureBoottrue
nodeConfig.workloadMetadataConfig.modeGKE_METADATA
nodeConfig.gcfsConfig.enabled / gvnic.enabledtrue / true
addonsConfig.statefulHaConfig.enabledtrue
Storage CSI drivers (Filestore, GCS FUSE, Parallelstore)enabled
Pod Security Standardsrestricted on production namespaces

Customer-Configurable Settings

These have golden path defaults but customers may deviate with valid justification. Ask before changing.

SettingDefaultWhy Deviate
dnsEndpointConfig.allowExternalTraffictrueRestrict if cluster only accessed from within VPC
autoIpamConfig / createSubnetworktrue / trueCustomer has pre-existing VPC/subnets
maxPodsPerNode48 (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
subnetworkauto-createdCustomer brings existing subnets
Release channel + maintenance windowsREGULAR channel with a recurring maintenance windowAdd targeted maintenance exclusions (keep under ~6 months) only for critical freezes — see the gke-upgrades skill
nodeConfig.bootDisk.diskTypepd-balancedpd-ssd for I/O-intensive, pd-standard for cost

Note: Autopilot selects node machine types automatically (e.g., ek-standard-8 may 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 minAvailable set 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.

    SettingControlsDefault
    maxSurgeAdditional nodes added per zone during the upgrade1
    maxUnavailableNodes simultaneously unavailable per zone0

    Nodes 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 maxUnavailable trades availability for speed; raising maxSurge trades cost for availability.

Caveat: externalTrafficPolicy: Local does 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

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

  1. 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.

  2. Day-0 vs Day-1. Flag Day-0 decisions (networking, private nodes, subnets, IP allocation) prominently — they are hard/impossible to change after creation.

  3. 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-basics skill's CLI reference for full coverage matrix and override options. If the user says "use gcloud" or "use kubectl", respect that for the session.

  4. 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.

SettingGolden Path Value
autopilot.enabledtrue
privateClusterConfig.enablePrivateNodestrue
masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabledtrue
secretManagerConfig.enabled + rotationInterval: 120strue
rbacBindingConfig.enableInsecureBinding*false (both)
workloadIdentityConfig.workloadPoolenabled
networkConfig.datapathProviderADVANCED_DATAPATH
networkConfig.dnsConfig.clusterDnsCLOUD_DNS
autoscaling.autoscalingProfileOPTIMIZE_UTILIZATION
verticalPodAutoscaling.enabledtrue
monitoringConfig componentsSYSTEM_COMPONENTS, STORAGE, POD, DEPLOYMENT, STATEFULSET, DAEMONSET, HPA, JOBSET, CADVISOR, KUBELET, DCGM, APISERVER, SCHEDULER, CONTROLLER_MANAGER
loggingConfig componentsSYSTEM_COMPONENTS, WORKLOADS (enabled by default)
advancedDatapathObservabilityConfig.enableMetricstrue
nodeConfig.shieldedInstanceConfig.enableSecureBoottrue
nodeConfig.workloadMetadataConfig.modeGKE_METADATA
nodeConfig.gcfsConfig.enabled / gvnic.enabledtrue / true
addonsConfig.statefulHaConfig.enabledtrue
Storage CSI drivers (Filestore, GCS FUSE, Parallelstore)enabled
Pod Security Standardsrestricted on production namespaces

Customer-Configurable Settings

These have golden path defaults but customers may deviate with valid justification. Ask before changing.

SettingDefaultWhy Deviate
dnsEndpointConfig.allowExternalTraffictrueRestrict if cluster only accessed from within VPC
autoIpamConfig / createSubnetworktrue / trueCustomer has pre-existing VPC/subnets
maxPodsPerNode48 (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
subnetworkauto-createdCustomer brings existing subnets
Release channel + maintenance windowsREGULAR channel with a recurring maintenance windowAdd targeted maintenance exclusions (keep under ~6 months) only for critical freezes — see the gke-upgrades skill
nodeConfig.bootDisk.diskTypepd-balancedpd-ssd for I/O-intensive, pd-standard for cost

Note: Autopilot selects node machine types automatically (e.g., ek-standard-8 may 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 minAvailable set 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.

    SettingControlsDefault
    maxSurgeAdditional nodes added per zone during the upgrade1
    maxUnavailableNodes simultaneously unavailable per zone0

    Nodes 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 maxUnavailable trades availability for speed; raising maxSurge trades cost for availability.

Caveat: externalTrafficPolicy: Local does 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
Google
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