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

EKS集群Helm安装Kong API网关服务异常问题咨询

异常根因
  • 核心问题为Kong官方Helm Chart默认配置的版本兼容性bug:对应部署版本的Kong Ingress Controller(KIC)默认强制使用HTTP2协议请求Kong网关的健康检查、配置同步状态校验接口,但同版本Kong网关的Admin/状态接口默认未开启HTTP2监听支持,直接返回http2 requests not supported yet的500错误。
  • 连锁故障逻辑:KIC每3秒发起的配置状态校验请求全部失败,导致控制器容器健康检查不通过,Pod始终无法达到就绪状态;EKS集群的LoadBalancer类型Service需要等待后端就绪Pod满足最小可用数后,才会触发AWS侧弹性负载均衡的创建与IP分配流程,因此kong-proxy服务的ExternalIP会一直停留在Pending状态。
  • 该故障与自定义values配置、当前使用的Helm v3.8、Kubernetes v1.21版本无直接关联,完全按照官方文档的默认参数部署就会触发,是Kong 2.8.x搭配KIC 2.4/2.5版本在EKS环境的已知适配问题。
修复方案
  • 现有部署升级修复:显式关闭KIC侧强制HTTP2访问的配置,同时保留Proxy侧的HTTP2对外支持能力,执行以下命令即可:
helm upgrade kong kong/kong -n kong \
  --set ingressController.controller.http2=false \
  --set proxy.http2.enabled=true
  • 全新部署修复:先清理现有异常资源后重新带参数安装:
# 卸载现有异常部署
helm uninstall kong -n kong
# 等待命名空间内所有Kong相关CRD、Pod、Service资源完全删除后,重新安装
helm install kong kong/kong -n kong --create-namespace \
  --set ingressController.controller.http2=false \
  --set proxy.http2.enabled=true
部署校验

部署完成后等待1-2分钟,执行以下操作确认故障修复:

  1. 执行kubectl get pods -n kong,确认所有Pod内的ingress-controller、proxy容器均为Running状态,无异常重启
  2. 执行kubectl get svc -n kong,确认kong-proxy服务成功分配AWS ELB对应的外部IP,不再处于Pending状态
  3. 查看容器日志,确认不再输出checking config status failed、http2 requests not supported yet类重复报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:51:46