字段名称 | 字段类型 | 字段说明 |
spec.host | string | 关联 DestinationRule 配置的服务名称,可以是自动发现的服务(例如 Kubernetes service name),或通过 ServiceEntry 声明的 hosts。如填写的服务名无法在上述源中找到,则该 DestinationRule 中定义的规则无效 |
spec.subsets | Subset[] | 定义服务的版本(subsets),版本可通过标签键值对匹配匹配服务中的endpoints。可以在 subsets 级覆盖流量策略配置 |
spec.trafficPolicy | trafficPolicy | 定义流量策略,包括负载均衡、连接池、健康检查、TLS 策略 |
spec.trafficPolicy.loadBalancer | - | 配置负载均衡算法,可配置:简单负载均衡算法(round robin, least conn, random...),一致性哈希(会话保持,支持按 header name,cookie,IP,query parameter 哈希),地域感知负载均衡算法 |
spec.trafficPolicy.connectionPool | - | 配置与上游服务的连接量,可设置 TCP/HTTP 的连接池 |
spec.trafficPolicy.outlierDetection | - | 配置从负载均衡池中驱逐不健康的 hosts |
spec.trafficPolicy.tls | - | 连接上游服务的 client 端 TLS 相关配置,与 PeerAuthentication 策略(server 端 TLS 模式配置)配合使用 |
spec.trafficPolicy.portLevelSettings | - | 配置端口级别的流量策略,端口级别的流量策略会覆盖服务 / subsets 级别的流量策略配置 |
apiVersion: networking.istio.io/v1alpha3kind: DestinationRulemetadata:name: productnamespace: basespec:host: productsubsets:- name: v1labels:version: v1 # subset v1 通过标签 version:v1 来匹配该服务的endpoint- name: v2labels:version: v2 # subset v2 通过标签 version:v2 来匹配该服务的endpoint
kind: DestinationRulemetadata:name: cartnamespace: basespec:host: carttrafficPolicy:loadBalancer:consistentHash:httpHeaderName: UserID # 配置访问 cart 服务的流量按照 header UserID 做一致性哈希负载均衡
本页内容是否解决了您的问题?