Istio请求重试上行选择算法

Istio请求重试上行选择算法,istio,envoyproxy,Istio,Envoyproxy,请求重试上游选择算法是什么 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: rtest spec: hosts: - '*' http: - name: test match: - uri: prefix: / route: - destination: h

请求重试上游选择算法是什么

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: rtest
spec:
  hosts:
    - '*'

  http:
    - name: test
      match:
        - uri:
            prefix: /
      route:
        - destination:
            host: myapp
            port:
              number: 8000

      retries:
        attempts: 20
        retryOn: 404,retriable-status-codes,connect-failure,reset
        retryRemoteLocalities: true
我确信重试将以RR方式在每个pod上进行尝试。我错了,有时它会在同一个吊舱上尝试多次,忽略RR平衡。如何强制Istio在不同的pod上每次重试

Istio版本1.9.3


更改负载平衡算法对重试顺序没有影响。 这是50次重试,7个POD在不同的节点上运行:

s44sk
pgkp5
qdg58
5xjtp
5xjtp
5xjtp
blrl2
blrl2
blrl2
blrl2
blrl2
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
blrl2
blrl2
s44sk
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
5xjtp
5xjtp
5xjtp
5xjtp
不确定订单是否被保留,但POD之间的重试比率远未达到RR


使用了本地负载平衡,但我想它不会影响使用RR算法的pod重试率。

Hello@Jonas,您的配置看起来不错。您确定您的流量不是按循环路由的吗?你怎么查的?这是。你有多少个豆荚?也许有些人死了?能否将策略更改为其他策略(即
RANDOM
)并再次测试?可能问题与istio无关。谢谢您的回复。我已经为我的问题添加了更多细节。谢谢添加更多信息。您提到您正在使用其他负载平衡器。什么,在哪里?如果您更改了负载平衡算法,但没有效果,则您的问题可能与此负载平衡器有关。您可以关闭它并再次测试它吗?
istio-ingresgateway
位于节点端口的前端,只有istio用于流量路由。我说的是:我想它不应该破坏RR平衡。你想使用哪种类型的
loacity
?或我想是故障转移吧。请确保您只从它们中配置了一个。你的节点在不同的区域吗?您是否尝试将
NodePort
更改为
LoadBalancer
ServiceEntry
s44sk
pgkp5
qdg58
5xjtp
5xjtp
5xjtp
blrl2
blrl2
blrl2
blrl2
blrl2
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
l74q4
blrl2
blrl2
s44sk
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
7jwdm
5xjtp
5xjtp
5xjtp
5xjtp