我正在用 kubernetes 集群中的 gloo 入口控制器替换 nginx 入口,并希望设置响应超时。在 nginx 中有一个注释。
nginx.ingress.kubernetes.io/proxy-read-timeout:“60”
在 gloo-ingress-controller 中是否有类似的东西,否则我必须为此使用虚拟服务吗?
我正在用 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'
我希望这有帮助。