1

我们正在使用 Istio 1.11.2 并面临 Istio 重试的一些问题。

为了禁用自动重试,我们在 http 列表的对象中添加了以下块。但是,Istio 仍然会重试请求。

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: gateway
  namespace: development
spec:
  gateways:
  - development/ingressgw
  hosts:
  - gateway.dev.rtm.com
  http:
  - match:
    - uri:
        prefix: /
    retries:
      attempts: 0
    route:
    - destination:
        host: gateway.development.svc.cluster.local
        port:
          number: 443
4

1 回答 1

0

您的 Istio 设置看起来不错。我检查并测试了它,在我的情况下一切都很好,我没有看到重复的连接尝试。我也没有发现任何可能与此配置相关的错误。

此行为也可能是由应用程序本身引起的。请注意并确保应用程序没有重试策略。请参阅此示例,了解此类操作如何工作。

还要确保您的 Istio 配置是正确的(主机、前缀、路由),并且您要准确检查此配置,而不是任何其他配置。您也可能设置了与您想要的不同的东西,因此它不起作用。您收到的值,3 次重复,可能表明 Istio 正在使用默认值。有关详细信息,请参阅此问题

如果您确保您的 Istio 配置 100% 正确,并且您的应用程序没有在任何地方使用重试,请尝试使用此示例istioctl proxy-status <your service>中的命令验证特定服务的 Istio 特使配置。请特别注意本段中的第2 点。

如果这仍然没有帮助,请尝试在https://discuss.istio.io/上创建一个线程。

于 2022-02-16T14:18:29.707 回答