You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE升级至1.22遭弃用API阻塞 空IngressList无法删除

GKE 1.21升级1.22时触发extensions/v1beta1 Ingress弃用告警排查

问题现象

运行Istio 1.12.1的GKE集群从1.21版本升级到1.22版本时,收到多类弃用API告警。其中/apis/extensions/v1beta1/ingresses相关告警不符合预期:集群内所有业务已经完成版本适配,没有创建任何Ingress资源,本不该触发该类告警。

排查过程

执行kubectl raw命令查询旧版Ingress接口,返回空资源列表,同时弹出弃用提示:

➜ kubectl get --raw /apis/extensions/v1beta1/ingresses | jq
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
{
  "kind": "IngressList",
  "apiVersion": "extensions/v1beta1",
  "metadata": {
    "resourceVersion": "191638911"
  },
  "items": []
}

尝试直接删除该路径下的资源时,收到服务端报错:

➜  kubectl delete --raw /apis/extensions/v1beta1/ingresses
Error from server (MethodNotAllowed): the server does not allow this method on the requested resource

当时无法推进集群升级流程,也无法删除所谓的"异常资源"。

原因说明

这个问题是GKE 1.21早期小版本的API服务端bug,并非集群内真的存在未迁移的旧版Ingress资源:

  • 返回结果中items字段为空,已经证明没有实际的旧版Ingress资源实例存在
  • 删除操作报错属于Kubernetes API的正常限制:/apis/extensions/v1beta1/ingresses是资源集合的根路径,不是具体的资源实例,API服务端本身就不允许对集合根路径直接执行DELETE操作
  • 告警触发原因是只要有请求打到旧版Ingress API路径,不管有没有返回实际资源,早期版本的GKE都会触发弃用告警,属于误报。

解决方案

将GKE集群先升级到1.21.11-gke.1900补丁版本,该版本修复了空API调用触发弃用告警的逻辑问题,升级完成后相关告警会自动消失,后续即可正常推进1.22版本的集群升级。


内容的提问来源于stack exchange,提问作者Sunil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 07:15:40