ingress 设置超时不生效 504 Gateway Timeout?
zealzhangzK零S
zackzhang 大佬,这几个timeout我都设置过了,但还是15s就超时了
zealzhangzK零S
- 已编辑
zackzhang 大神,这里有个一模一样的帖子,但没说解决方法,这个应该是共性的问题,应为大文件上传时就很容易出发这个问题
KS内部应用访问外部接口,网关超时
ZzackzhangK零SK壹S
你的应用使用了istio,网关要开启微服务治理
zealzhangzK零S
zackzhang 开启了应用治理,也是一样哦
ZzackzhangK零SK壹S
怎么复现,我本地连接一个注入sidecar应用,时间可以不受限制;跟负载大小有关系吗
zealzhangzK零S
zackzhang 复现的话直接在接口中 sleep 30s,然后通过ingress暴露接口请求。我猜测现在的应该是应用还没返回,可能是k8s这边某个组件15s超时直接返回了。
ZzackzhangK零SK壹S
zealzhangz 我这测试一直正常,你把可以复现的详细步骤描述下(尽量详细点)。
- 什么应用,怎么部署
- 如何访问,怎么验证
zealzhangzK零S
- 已编辑
zackzhang 大佬,我新建了一个工程,在原先的项目内部署该工程,问题依旧存在。后面我新建了一个项目部署上去发现没有这个问题,然后再回去测试发现原先有问题的项目也好了。发现相关的 ReplicaSet router 更新了,目测这个还是跟istio sidecar 有关,可能之前关闭应用治理的时候这个ReplicaSet router 没更新,我本次新建触发了更新然后就好了。不过原先那个ReplicaSet 后面参数都变成0了,是个啥子意思?
ZzackzhangK零SK壹S
zealzhangz 应该没有找到根本原因,你找个可以稳定复现的方法
zealzhangzK零S
zackzhang 目前能稳定复现,开启应用治理,请求超过15s就会超时,关闭之后就正常。
但刚开始我也关闭了应用治理,但是还是超时,这个我就解释不了了。
ZzackzhangK零SK壹S
你这timeout有20000的,不也有些正常的吗?
复现的要求应该是:所有请求达到15s,应该马上被拒绝。
另外,你如果怀疑是网关造成的,可以绕开网关,直接请求服务(service NodePort);
zealzhangzK零S
- 已编辑
zackzhang 正常的是我关闭应用治理的测试,超时的是我开启应用治理的测试,绕开网关不会超时。这些我都测试过了。这里有我测试完整的源码和k8s脚本,大佬可以自己测试一下
# 部署好之后请求这个地址
http://timeout-test.10.1.1.122.nip.io:31729/test/?timeout=20000
卧槽,附件不支持gz压缩包
大佬移步百度网盘:
链接: https://pan.baidu.com/s/19-KICUiDoC2GmoFCHIgc6A 提取码: mewe
zealzhangzK零S
- 已编辑
总结一下就是关闭应用治理,删除如下注解,就不会超时,超时原因还是因为 istio sidecar
nginx.ingress.kubernetes.io/service-upstream: 'true'