GKE升级至1.26后HorizontalPodAutoscaler部署失败排查
问题原因
Helm的release历史记录里还留存着旧版本autoscaling/v2beta2的HPA资源定义。你虽然更新了本地部署清单,但Helm执行upgrade时会基于当前release已存储的资源状态做更新操作——之前用v2beta2版本API创建的HPA信息还存在Helm的release元数据里,GKE 1.26已经移除了该API版本,Helm尝试处理旧资源映射时自然会找不到匹配的API类型,从而报错。
另一种可能:之前的Helm release中HPA资源是通过旧API版本部署的,后续仅修改了本地chart文件,但没彻底清理Helm存储的旧资源状态。Helm会记录所有曾部署过的资源信息,升级时会尝试调和这些资源,当旧资源对应的API版本已被集群移除,就会出现“无匹配kind”的错误。
验证与解决步骤
先确认Helm存储的清单里是否真的有旧版本HPA:
helm get manifest <你的release名称> -n <目标命名空间>搜索输出内容里的
autoscaling/v2beta2,如果能找到,就说明旧资源记录确实存在。解决方法:
- 手动删除旧的HPA资源:
之后再重新执行kubectl delete hpa <HPA名称> -n <目标命名空间>helm upgrade。 - 若删除后仍有问题,可尝试强制升级覆盖旧状态:
helm upgrade --force <你的release名称> <chart路径> -n <目标命名空间> - 如果以上都无效,可考虑先备份业务数据后卸载当前release,再重新安装更新后的chart。
- 手动删除旧的HPA资源:
内容的提问来源于stack exchange,提问作者Varun Saxena
相关产品推荐
相关产品推荐

