【问题标题】:How to set timeout for gloo ingress controller如何为gloo入口控制器设置超时
【发布时间】:2020-10-24 00:08:52
【问题描述】:

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

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

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

【问题讨论】:

    标签: kubernetes-ingress nginx-ingress gloo


    【解决方案1】:

    您应该与 Gloo 一起使用的唯一注释是 kubernetes.io/ingress.class: gloo,这是将 Ingress 对象标记为由特定 Ingress 控制器处理的标准方法。如果您将 Gloo 添加为集群的默认 Ingress 控制器,则此要求将消失。另外,根据documentation

    如果您需要更高级的路由功能,我们鼓励您 通过安装为 glooctl install gateway 来使用 Gloo VirtualServices。

    Gloo 网关使用 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'
    

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 2018-08-30
      • 1970-01-01
      • 2021-05-21
      • 2019-03-13
      • 2017-01-10
      相关资源
      最近更新 更多