|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
设置 Istio 的流量管理组件
|
Rancher-Istio 自 Rancher v2.12.0 起已被弃用;请转向 SUSE 应用程序集合 版本的 Istio,以获得增强的安全性(包含在 SUSE Rancher Prime 订阅中)。 详细信息可以在 此公告 中找到。 |
Istio 流量管理的一个主要优势是它允许动态请求路由。动态请求路由的一些常见应用包括金丝雀部署和蓝绿部署。Istio 流量管理中的两个关键资源是_虚拟服务_和_目标规则_。
本节描述如何添加一个示例虚拟服务,该服务对应于示例 BookInfo 应用中的`reviews`微服务。该服务的目的是在`reviews`服务的两个版本之间分配流量。
在这个示例中,我们将流量引导到`reviews`服务,并拦截它,使得50%的流量发送到`v1`服务,50%的流量发送到`v2`。
在部署此虚拟服务后,我们将生成流量,并从 Kiali 可视化中看到流量在两个版本的服务之间均匀路由。
要部署`reviews`服务的虚拟服务和目标规则,
-
单击 ☰ > 集群管理。
-
请前往安装了 Istio 的集群并点击*探索*。
-
在安装了 Istio 的集群中,点击左侧导航栏中的menu:Istio[目标规则]。
-
单击*创建*。
-
复制并粘贴下面提供的DestinationRule yaml。
-
单击*创建*。
-
点击*以YAML格式编辑*并使用以下配置:
apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: reviews spec: host: reviews subsets: - name: v1 labels: version: v1 - name: v2 labels: version: v2 - name: v3 labels: version: v3 -
单击*创建*。
然后部署提供流量路由的虚拟服务,该服务利用目标规则:
-
点击侧边导航栏中的*虚拟服务*。
-
点击*从Yaml创建*。
-
复制并粘贴下面提供的 VirtualService yaml。
-
单击*创建*。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
weight: 50
- destination:
host: reviews
subset: v3
weight: 50
---
*结果:*当您向此服务生成流量时(例如,通过刷新入口网关 URL),Kiali 流量图将反映 reviews 服务的流量在 v1 和 v3 之间均匀分配。