You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Istio DestinationRule配置多个Host?

解决Istio DestinationRule多Host流量接收问题

问题背景

现有DestinationRule配置如下:

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: bookinfo-ratings
spec:
  host: ratings.prod.svc.cluster.local
  trafficPolicy:
    loadBalancer:
      simple: LEAST_REQUEST

需要让服务同时接收ratings.prod.svc.cluster.local和rating.custom.domain的流量,但spec.host仅支持单个字符串,无法直接配置多个Host。

解决方案

通过VirtualService实现多域名到目标服务的路由,同时保留原DestinationRule的流量策略配置:

  1. 保留原有的DestinationRule,它会对目标服务的所有流量生效,包括通过VirtualService路由过来的自定义域名流量。

  2. 创建对应的VirtualService,将自定义域名rating.custom.domain的流量路由到ratings.prod.svc.cluster.local服务:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo-ratings-custom-domain
spec:
  hosts:
    - rating.custom.domain
  http:
    - route:
        - destination:
            host: ratings.prod.svc.cluster.local

原理说明

  • VirtualService负责对外暴露自定义域名,并将该域名的流量转发到集群内的目标服务Host。
  • DestinationRule针对集群内服务Host配置的流量策略(如这里的LEAST_REQUEST负载均衡)会自动应用到所有流向该服务的流量,不管流量是来自集群内域名还是通过VirtualService路由的自定义域名。

内容的提问来源于stack exchange,提问作者River

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:01:03