-
Notifications
You must be signed in to change notification settings - Fork 0
/
DestinationRule.yaml
31 lines (31 loc) · 2.55 KB
/
DestinationRule.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: httpbin
spec:
host: httpbin # 目标服务的名称。 流量目标对应的服务,会在在平台的服务注册表中进行查找,如果查找失败,则丢弃流量。注: Istio 会根据规则所在的命名空间来处理这一名称,而非服务所在的命名空间。
trafficPolicy:
loadBalancer:
simple: ROUND_ROBIN # ROUND_ROBIN/LEAST_CONN/RANDOM/PASSTHROUGH ,默认: ROUND_ROBIN
# consistentHash: 见: https://istio.io/docs/reference/config/istio.networking.v1alpha3/#LoadBalancerSettings-ConsistentHashLB
connectionPool: # 见: https://istio.io/docs/reference/config/istio.networking.v1alpha3/#ConnectionPoolSettings
tcp:
maxConnections: 1 # 到目标主机的 HTTP1/TCP 最大连接数
connectTimeout: 10s # TCP 连接超时,
http:
http1MaxPendingRequests: 1024 # 针对一个目标的 HTTP 请求的最大排队数量,缺省值为 1024
http2MaxRequests: 1024 # 对一个后端的最大请求数,缺省值为 1024
maxRequestsPerConnection: 10000 # 对某一后端的请求中,一个连接内能够发出的最大请求数量。如果将这一参数设置为 1 则会禁止 keep alive 特性
maxRetries: 1 # 在给定时间内,集群中所有主机可以执行的最大重试次数
outlierDetection:
consecutiveErrors: 5 # 超过这一错误数量之后,主机将会被移出连接池。缺省值为 5。当上游服务是 HTTP 服务时,5xx 的返回码会被记为错误;当上游主机提供的是 TCP 服务时,TCP 连接超时和连接错误/故障事件会被记为错误。
interval: 10s # 在移除检测之间的时间间隔。缺省值为 10s,必须大于或等于 1ms。
baseEjectionTime: 30s # 最小的移除时间长度。主机每次被移除后的隔离时间等于被移除的次数和最小移除时间的乘积。这样的实现,让系统能够自动增加不健康上游服务实例的隔离时间。缺省为值为 30s。
maxEjectionPercent: 10 # 上游服务的负载均衡池中允许被移除的主机的最大百分比。缺省值为 10%
# tls: 见 https://istio.io/docs/reference/config/istio.networking.v1alpha3/#TLSSettings
# portLevelSettings: 见 https://istio.io/docs/reference/config/istio.networking.v1alpha3/#TrafficPolicy-PortTrafficPolicy
subsets:
- name: testversion
labels: # 使用标签对服务注册表中的服务端点进行筛选。TODO, 是pod的标签?
version: v3
# trafficPolicy: # 同上面的trafficPolicy