kubernetes-ingress - 如何为gloo入口控制器设置超时
问题描述
我正在用 kubernetes 集群中的 gloo 入口控制器替换 nginx 入口,并希望设置响应超时。在 nginx 中有一个注释。
nginx.ingress.kubernetes.io/proxy-read-timeout:“60”
在 gloo-ingress-controller 中是否有类似的东西,否则我必须为此使用虚拟服务吗?
解决方案
您应该与 Gloo 一起使用的唯一注释是kubernetes.io/ingress.class: gloo
将 Ingress 对象标记为由特定 Ingress 控制器处理的标准方法。如果您将 Gloo 添加为集群的默认 Ingress 控制器,则此要求将消失。另外,根据文档:
如果您需要更高级的路由功能,我们建议您通过安装为 glooctl install gateway 来使用 Gloo VirtualServices。
Gloo Gateway 使用 Kubernetes 自定义资源而不是 Ingress 对象作为配置 Ingress 的唯一方法,超出其基本路由规范是对您的 Kubernetes 清单使用大量供应商特定的 Kubernetes 注释。
因此,您应该使用VirtualService来实现您的目标。你可以看到下面的例子:
apiVersion: gateway.solo.io/v1
kind: VirtualService
metadata:
name: 'default'
namespace: 'gloo-system'
spec:
virtualHost:
domains:
- '*'
routes:
- matchers:
- prefix: '/petstore'
routeAction:
single:
upstream:
name: 'default-petstore-8080'
namespace: 'gloo-system'
options:
timeout: '20s'
retries:
retryOn: 'connect-failure'
numRetries: 3
perTryTimeout: '5s'
我希望这有帮助。
推荐阅读
- python - Google App Engine 出现意外的“站点无法提供安全连接”错误
- ionic-framework - 访问 XMLHttpRequest 在
已被 CORS 策略阻止:Access-Control-Allow-Headers 不允许请求标头字段授权 - c# - 十进制?删除尾随零
- python - 根据参数是什么类返回不同的结果?
- sql - 如何根据不同的表在表中插入行?
- python - 使用应用程序凭据对 keystone API 进行身份验证
- c++ - 如何限制 C++ 中随机生成的项目的出现?
- html - CSS Div 排列和对齐问题
- flutter - Flutter 制作 CustomClipper 的可调整大小的部分
- android - Android观察数据未被调用