如何解决Istio 入口网关随机返回 507 响应
如果上游返回 502,则 Ingress 网关正在重试。大部分时间它都按预期工作。有时网关会返回 507“在重试上游时超出请求缓冲区限制”而不重试。
从日志中我可以看到:app 502
-> istio-proxy sidecar 502
-> ingress gateway 507
-> client
。无法在与 ingress-gateway
相关的日志中找到其他错误。
请求大小为 1-30Mb。任何想法在哪里寻找问题?
虚拟服务:
...
retries:
attempts: 4
retryOn: 502,retriable-status-codes,connect-failure
retryRemoteLocalities: true
...
特使过滤器:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: buffer-limit
spec:
configPatches:
- applyTo: LISTENER
listenerMatch: 0.0.0.0_8080
patch:
operation: MERGE
value:
per_connection_buffer_limit_bytes: 100000000
解决方法
解决方案是使用正确的 Envoy 过滤器:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
namespace: istio-system
name: buffer-limit
spec:
workloadSelector:
labels:
istio: ingressgateway
configPatches:
- applyTo: LISTENER
patch:
operation: MERGE
value:
per_connection_buffer_limit_bytes: 100000000
过滤器正在 v1.8.4 上运行
要检查是否应用了过滤器:
istioctl proxy-config listeners <istio-ingressgateway-pod> -o json -n istio-system
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。