1

我正在用 kubernetes 集群中的 gloo 入口控制器替换 nginx 入口,并希望设置响应超时。在 nginx 中有一个注释。

nginx.ingress.kubernetes.io/proxy-read-timeout:“60”

在 gloo-ingress-controller 中是否有类似的东西,否则我必须为此使用虚拟服务吗?

4

1 回答 1

1

您应该与 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'

我希望这有帮助。

于 2020-07-03T13:17:08.933 回答