GKE集群Pod副本数超过5个时被自动杀死问题排查求助
问题排查方向与解决方案
- 首先验证HPA运行状态与配置有效性
执行命令kubectl describe hpa my-app-hpa -n production查看HPA的事件日志,确认是否有缩容触发记录、版本不兼容报错。你当前使用的autoscaling/v2beta1属于已废弃的API版本,GKE 1.23及以上版本已经停止支持该版本的HPA,会导致配置不生效,建议替换为稳定版autoscaling/v2的API重新部署HPA。
同时执行kubectl get hpa -A | grep my-app检查是否存在其他绑定该Deployment的HPA规则,若存在旧的HPA配置maxReplicas为5,直接删除旧规则即可。 - 检查命名空间资源配额限制
执行命令kubectl get resourcequota -n production查看对应命名空间是否配置了ResourceQuota,若配额限制了Pod总数、CPU/内存总使用量刚好达到阈值,会导致无法创建更多副本,调整配额参数到足够大小即可解决。 - 验证节点选择器配置匹配性
你的Deployment配置中nodeSelector指定的节点池标签为cloud.google.com/gke-nodepool: my-pool,但你描述的业务节点池名称为「main」,如果二者名称不匹配,Pod会因为找不到可调度的节点被终止,将nodeSelector的值调整为对应节点池的正确名称即可。 - 检查Pod干扰预算配置
执行命令kubectl get pdb -n production查看是否存在PodDisruptionBudget(PDB)配置,若PDB的可用副本阈值设置不合理,也会强制限制副本总数,调整PDB的minAvailable或maxUnavailable参数即可。 - 验证GCP资源配额上限
登录Google Cloud控制台进入「IAM与管理」-「配额」页面,搜索Compute Engine API下的在用IP地址、标准Persistent Disk容量等相关配额,若配额达到上限会导致Pod无法正常启动,申请提升对应配额即可。
内容的提问来源于stack exchange,提问作者FairPluto
相关产品推荐
相关产品推荐

