运维部署
创建 GKE 集群时如何选择模式…
在 Google Cloud 上规划并创建 GKE 集群(Autopilot、Standard Regional、GPU 推理、AI 超算),需要选型、套用安全/成本/高可用最佳实践并生成可执行配置时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
创建 GKE 集群时如何选择模式、套用最特定
解决思路
- 发现上下文:用 list_clusters 查看已有集群;若项目未知,用 gcloud config get-value project 获取。
- 收集输入:project_id、location(region 或 zone)、cluster_name、环境类型;缺少关键信息时先询问用户再操作。
- 选择模式并解释权衡:若用户未指定模板或模式,列出可用模板(Autopilot、Standard Regional、GPU Inference、AI Hypercompute)并说明关键权衡(成本 vs 可用性、Autopilot vs Standard 节点管理)。
- 配置网络:默认自动创建子网,或使用自带子网(bring-your-own)。
- 复核 golden path 设置:展示默认配置块(gcloud 命令或 create_cluster JSON payload),创建前与用户确认。
- 创建:使用 MCP create_cluster 工具或 gcloud CLI。
- 跟踪:用 get_operation 监控创建进度。
- 验证:用 get_cluster 并设置 readMask="*" 确认 golden path 设置已生效。
- 安全与网络最佳实践:默认使用私有集群(enablePrivateNodes: true),启用私有控制平面并限制公网端点(enable-master-authorized-networks)以最小化攻击面。
- 使用 VPC 原生网络(useIpAliases: true / --enable-ip-alias),以启用别名 IP 范围和 Pod 级防火墙规则。
- 优先使用 Workload Identity(workloadPool: <PROJECT_ID>.svc.id.goog)安全授予 GKE 工作负载访问 Google Cloud 服务的权限,而非静态服务账号密钥。
- 启用 Shielded GKE Nodes(--enable-shielded-nodes、--enable-secure-boot)防御 rootkit 和 bootkit。
- 实施最小权限 RBAC(scoped-rbs-bindings)。
- 成本优化:启用 Cluster Autoscaler 及 Horizontal/Vertical Pod Autoscaler(--enable-autoscaling、--enable-vertical-pod-autoscaling)按需调整资源。
- 合理选型与使用 Spot VM:选择合适的机器类型和节点数;对容错、非关键批处理或推理工作负载考虑 Spot VM(--spot)。
- 高可用与可靠性:生产环境使用 Regional Cluster 确保控制平面跨多区复制(用 --region 而非 --zone);注意 Standard regional 默认跨 3 个 zone 创建节点。
- 建议为应用设置 Pod Disruption Budgets,保证节点维护期间的稳定性。
- 订阅发布通道(REGULAR 或 STABLE)实现自动化、更安全的集群升级。
- 模板 1(Golden Path Autopilot 生产默认):使用 gcloud container clusters create-auto 并带 --region、--project、--release-channel regular、--enable-private-nodes、--enable-master-authorized-networks、--enable-dns-access、--enable-secret-manager、--secret-manager-rotation-interval=120s、--scoped-rbs-bindings、--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA,CADVISOR,KUBELET,DCGM、--quiet;或通过 MCP create_cluster 传入对应 JSON(autopilot.enabled、privateClusterConfig、masterAuthorizedNetworksConfig、releaseChannel、secretManagerConfig、rbacBindingConfig)。
- 模板 2(Autopilot 开发/测试):使用 create-auto 并带 --release-channel rapid,或 MCP JSON 仅设置 autopilot.enabled 与 releaseChannel RAPID;注意此模板未应用 golden path 安全加固,仅适用于 dev/test。
- 模板 3(Standard Regional,高可用/自定义需求):当 Autopilot 无法满足(如自定义内核调优、特定节点 OS)时使用;gcloud 命令带 --num-nodes 3、--machine-type e2-standard-4、--disk-type pd-balanced、--enable-autoscaling --min-nodes 1 --max-nodes 10、--enable-shielded-nodes --enable-secure-boot、--workload-pool=<PROJECT_ID>.svc.id.goog、--enable-private-nodes、--enable-master-authorized-networks、--enable-vertical-pod-autoscaling、--enable-dataplane-v2、--release-channel regular;或 MCP JSON 配置 initialNodeCount、nodeConfig(machineType、diskType、diskSizeGb、oauthScopes、shieldedInstanceConfig、workloadMetadataConfig)、privateClusterConfig、releaseChannel、workloadIdentityConfig。
- 模板 4(GPU 推理与 AI 工作负载,L4 / ComputeClass):适用于 AI/ML 推理、小模型服务;可先按模板 1 创建 golden path 集群,再 kubectl apply -f gpu-compute-class.yaml 应用 GPU ComputeClass,或用 gcloud container ai profiles manifests create --model=gemma-2-9b-it --model-server=vllm --accelerator-type=nvidia-l4 --quiet > inference.yaml 后 kubectl apply;也可用 Standard 节点池方式通过 MCP create_cluster 配置 g2-standard-4 与 nvidia-l4 加速器;注意需要 g2-standard-4 配额。
- 模板 5(AI Hypercompute,A3 HighGPU / 大模型服务):适用于大规模 LLM/AI 模型训练与超算推理;gcloud 命令带 --num-nodes 1、--machine-type a3-highgpu-8g、--accelerator type=nvidia-h100-80gb-hbm3,count=8、--disk-size 200、--scopes https://www.googleapis.com/auth/cloud-platform、--workload-pool=<PROJECT_ID>.svc.id.goog、--release-channel regular;或 MCP JSON 配置对应 machineType、accelerators、diskSizeGb、oauthScopes;注意高时费与严格配额要求。
- 始终在上下文中没有 project_id 时询问 project_id。
- 始终询问 region(或 location)。
- 始终询问唯一的 cluster_name。
- 除非客户另有说明或有自定义节点/内核/超算需求,默认使用 golden path Autopilot。
- 偏离到 GKE Standard 时始终警告,强调其偏离 golden path 并说明额外的运维/管理开销(手动管理节点池、升级和自动扩缩)。
- 在用户未指定模板或模式时,展示模板或模式选择并解释权衡(如 Autopilot vs Standard、成本 vs 可用性)。
- 在调用任何创建工具前,展示配置块(gcloud 命令或 JSON payload)并请求确认。
- 警告 Day-0 决策(网络、私有节点)后期难以更改。
- 当用户选择 GPU(g2-standard-4、a3-highgpu-8g)、TPU 或多区域/区域集群(--region 默认 3 个 zone)时,明确警告成本和配额要求。
- 使用 MCP create_cluster 时,cluster.name 参数应为短名称(如 my-cluster),而非完整资源路径(projects/<PROJECT_ID>/locations/<REGION>/clusters/<CLUSTER_NAME>);parent 参数定义作用域(projects/<PROJECT_ID>/locations/<REGION>)。
适用边界 · 注意事项
- 不要用于应用上线或部署配置(应改用 gke-app-onboarding)。
- 当用户需要自定义内核调优、特定节点 OS 或特权工作负载时,不要默认使用 Autopilot。
- 不要在未确认 project_id、region 和唯一 cluster_name 的情况下执行创建。