gke-basics:用 Agent Skill 管住 GKE 建集羣與上工作負載的常見坑

前言

在 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

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

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

小夜