用途:该技能面向 GKE 生产环境,提供保障集群与工作负载高可用、高可靠的工作流,帮助减少区域故障、节点升级等场景下的停机风险。
主要能力与用法:
- 校验集群高可用:用 gcloud container clusters describe <cluster-name> --region <region> --format="json(location, locations)" 判断控制平面是否为区域级、节点是否跨多个可用区。
- 配置 PodDisruptionBudget:用 kubectl get pdb -n <namespace> 查看现有 PDB,并通过 policy/v1 的 PodDisruptionBudget 清单设置 minAvailable 等,保证自愿中断期间的最小可用 Pod 数。
- 配置健康探针:为生产容器配置 Readiness、Liveness,必要时加 Startup 探针;可用 kubectl get deployment <app-name> -n <namespace> -o yaml | grep -E "livenessProbe|readinessProbe|startupProbe" 检查。
- 优雅关闭:应用需处理 SIGTERM,并设置合适的 terminationGracePeriodSeconds(默认 30 秒)。
- 拓扑分布约束:通过 topologySpreadConstraints 按 topology.kubernetes.io/zone 等键分散 Pod,避免关联性故障。
- 维护窗口与排除:用 gcloud container clusters update 配合 --maintenance-window-start 与 --maintenance-window-recurrence 设置自动升级时间,避开高峰。
最佳实践:生产使用区域集群;每个生产容器至少配置就绪探针;关键应用使用 PDB;即使区域集群也使用拓扑分布约束跨区分散;设置维护窗口使升级发生在低流量时段。
限制:资料未提供该技能的安装方式、依赖版本、收费或平台支持范围等信息。