GKE Basics: Using Agent Skill to Avoid Common Pitfalls in GKE Cluster Creation and Workload Deployment

前言

在 Google Cloud 上跑 Kubernetes,很多团队会先卡在几件事上:Autopilot 和 Standard 怎么选、私有集群要开哪些 flag、kubectl 凭证怎么拉、Autopilot 里 CPU request 为什么要按 250m 对齐。这些问题文档里都有,但 Agent 容易给出过时命令或把 Workload Identity、升级、网络硬塞进同一条回答里。

下面介绍 Google 官方仓库里的 gke-basics(当前 metadata 版本 1.1.1,分类 Containers)。它把 GKE 集群创建、凭证获取、模式选型和工作负载部署的「默认做法 + 必知坑」写进 SKILL.md,并指向同系列的专项 Skill,适合在 Cursor、Claude Code、Codex 等支持 Agent Skills 的环境里,让助手按同一套规则办事。

这是什么

gke-basics 是 google/skills 中面向 GKE 的入门型 Agent Skill,官方路径为:

https://github.com/google/skills/tree/main/skills/cloud/gke-basics

官方描述概括为:管理 GKE 集群供给、凭证、Autopilot 与 Standard 选型,以及工作负载部署。适用场景包括创建 GKE 集群、获取 kubectl 凭证、在 Autopilot 与 Standard 之间做决策。

Skill 同时写明不应用它处理的事项,应改开对应 Skill:

主题 应使用的 Skill
Workload Identity(KSA/GSA) gke-workload-identity
GKE 网络 gke-networking
平台/工作负载安全加固 gke-platform-security / gke-workload-security
集群升级与维护窗口 gke-upgrades
生成 Deployment、Service 等 YAML gke-manifest-generation

GKE 被定位为 Google Cloud 上的托管 Kubernetes;Skill 默认倾向 Autopilot,除非业务明确需要 Standard。

核心功能

Autopilot 与 Standard 选型规则

Skill 把选型写成可执行的默认策略:

  1. 绝大多数工作负载默认 Autopilot。
  2. 仅在以下情况选 Standard:
    - 需要自定义节点 OS 内核参数(sysctl)。
    - 需要自定义节点 taint 或特定硬件节点池。
    - DaemonSet 必须把 hostPath 挂到宿主机文件系统。
  3. 若向用户解释为何必须用 Standard,需逐条引用命中的限制(例如同时命中 custom sysctls 与 custom node taints)。
  4. 复杂节点池规划或高级集群架构,应参考 gke-cluster-creation。

关键坑与最佳实践

私有 Autopilot 集群

私有节点与控制面访问可组合使用下列参数(示例为区域级 Autopilot 创建):

gcloud container clusters create-auto CLUSTER_NAME --region=REGION \
  --enable-private-nodes \
  --enable-private-endpoint \
  --enable-master-authorized-networks \
  --master-authorized-networks=CIDR_BLOCK

含义简要对应:--enable-private-nodes 使用私有节点 IP;--enable-private-endpoint 关闭控制面公网 IP;--enable-master-authorized-networks 与 CIDR 限制谁可访问控制面。

Workload Identity

Skill 强调:不要在 Pod 里挂载 GCP 服务账号的 JSON 密钥;KSA/GSA 绑定与配置应打开 gke-workload-identity/SKILL.md,而不是在本 Skill 里展开完整流程。

Autopilot 资源 request

  • CPU request 必须以 250m(0.25 vCPU) 为步长;未对齐时向上取整(例如 300m 应视为 500m)。
  • request 与 limit 在 Autopilot 中会等同处理;可省略 limits,由 Autopilot 按 requests 设默认。

集群凭证

拉取凭证时务必显式带上 --region(区域集群)或 --zone(可用区集群):

gcloud container clusters get-credentials CLUSTER_NAME --region=REGION --quiet

参考目录(Skill 内嵌文档)

安装后 Agent 可按需读取同目录下的参考资料,而不必一次塞满上下文:

  • references/core-concepts.md:架构、Autopilot/Standard、网络、扩缩容与安全模型。
  • references/cli-reference.md:工具优先级(MCP vs gcloud vs kubectl)、gcloud container 命令与用户偏好覆盖。
  • references/client-library-usage.md:Python、Go、Node.js、Java 的 Kubernetes 与 Container 官方客户端。
  • references/mcp-usage.md:23 个结构化 GKE MCP 工具(集群管理、K8s 资源、诊断)。
  • references/iac-usage.md:Terraform(google_container_cluster Autopilot)、Kubernetes provider 与 YAML 样例。

同仓库在 Infrastructure 类目下还提供 GKE AI/ML Inference、GKE Manifest Generation、Migrate AI Workloads to GKE Inference 等相邻 Skill,适合在入门之后继续做推理部署或清单生成;本 Skill 负责把「基础路径」和路由边界说清楚。

安装与启用

Google 官方仓库通过 skills.sh 分发。在已具备 Node.js(含 npm / npx)的环境中,可先安装整包再勾选单个 Skill:

npx skills add google/skills

按提示选择要安装的 Skill(可只选 GKE Basics & Critical Gotchas)、目标 Agent 以及安装范围(项目或全局)。

更新已安装 Skill:

npx skills update

Cursor、Claude Code、Codex 等对 Skills 的挂载路径与交互方式因产品而异;上述命令来自 google/skills README,与本 Skill 源码安装方式一致。若环境没有 npx,需先安装 Node.js。

典型用法

在 Agent 已加载 gke-basics 的前提下,可用自然语言描述任务,让助手按 Skill 规则执行,例如:

  1. 新建区域 Autopilot 集群并限制控制面访问 — 助手应默认 create-auto,并在需要私有部署时带上前文私有集群参数组合,而不是混用 Standard 节点池命令。
  2. 「我要 kubectl」 — 助手应执行带 --region 或 --zone 的 get-credentials,避免漏区域导致连错集群。
  3. 「这个 DaemonSet 要 hostPath」 — 助手应引用 Standard 限制项,并建议查阅 gke-cluster-creation 做节点池规划。
  4. 「Pod 要用 GCP API」 — 助手应拒绝 JSON 密钥挂载方案,并路由到 gke-workload-identity。
  5. 「帮我写 Deployment YAML」 — 助手应打开 gke-manifest-generation,而不是在本 Skill 里编造清单字段。

涉及基础设施即代码时,可让助手读取 references/iac-usage.md 中的 Terraform 与 YAML 示例,与 gcloud 命令保持一致。

适用场景与注意

适合谁

  • 刚把工作负载迁到 GKE,需要 Agent 在「默认 Autopilot + 官方 CLI 习惯」下回答的团队。
  • 用 AI 辅助写 gcloud container 命令、拉凭证、解释 Autopilot 资源约束的 SRE 或平台工程师。
  • 希望 Agent 自动把网络、安全、升级、WI 拆到对应 Google 官方 Skill,减少答非所问的场景。

限制与注意

  • 本 Skill 不覆盖 Workload Identity 完整配置、网络拓扑、安全加固 flag、集群升级;遇到这些主题应切换 Skill,避免在一个对话里堆满互不相关的 flag。
  • 简介里若把「Workload Identity」写成本 Skill 的主能力,与官方 description 不符;正确做法是:在本 Skill 里只记住「禁止 JSON 密钥」并跳转 gke-workload-identity。
  • Autopilot CPU 步长、私有集群参数等属于「踩坑即失败」类规则,人工复核 Agent 生成的 manifest 与 gcloud 命令仍然必要。

结尾

gke-basics 把 GKE 上云第一步的选型默认、CLI 习惯和几个高频 gotcha 固化成 Agent 可读的规程,并通过路由表与同仓库专项 Skill 分工,避免入门对话被网络、安全、WI 拖散。需要安装或查看源码时,打开官方目录即可:

https://github.com/google/skills/tree/main/skills/cloud/gke-basics

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye