目录
- 一.模块概览
- 二.系统环境
- 三.简单路由
- 3.1 简单路由
- 四.Subset和DestinationRule
- 4.1 Subset 和 DestinationRule
- 4.2 DestinationRule 中的流量策略
- 4.2.1 负载均衡器设置
- 4.2.2 连接池配置
- 4.2.3 异常点检测
- 4.2.4 客户端 TLS 设置
- 4.2.5 端口流量策略
- 五.高级路由
- 5.1 高级路由
- 5.2 重定向和重写请求
- 5.3 AND 和 OR 语义
- 六.实战:简单流量路由
- 6.1 简单流量路由
- 6.2 清理
- 七.实战:高级流量路由
- 7.1 高级流量路由
- 7.2 清理
使用服务网格Istio进行流量路由的前提是已经安装好了istio,关于istio的安装部署,请查看博客《Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14》https://www.cnblogs.com/renshengdezheli/p/16836404.html
二.系统环境服务器版本docker软件版本Kubernetes(k8s)集群版本Istio软件版本CPU架构CentOS Linux release 7.4.1708 (Core)Docker version 20.10.12v1.21.9Istio1.14x86_64Kubernetes集群架构:k8scloude1作为master节点,k8scloude2,k8scloude3作为worker节点
服务器操作系统版本CPU架构进程功能描述k8scloude1/192.168.110.130CentOS Linux release 7.4.1708 (Core)x86_64docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calicok8s master节点k8scloude2/192.168.110.129CentOS Linux release 7.4.1708 (Core)x86_64docker,kubelet,kube-proxy,calicok8s worker节点k8scloude3/192.168.110.128CentOS Linux release 7.4.1708 (Core)x86_64docker,kubelet,kube-proxy,calicok8s worker节点三.简单路由3.1 简单路由我们可以使用 VirtualService 资源在 Istio 服务网格中进行流量路由 。通过 VirtualService,我们可以定义流量路由规则,并在客户端试图连接到服务时应用这些规则 。例如向
dev.example.com
发送一个请求,最终到达目标服务 。让我们看一下在集群中运行
customers
应用程序的两个版本(v1 和 v2)的例子 。我们有两个 Kubernetes 部署,customers-v1
和 customers-v2
。属于这些部署的 Pod 有一个标签 version:v1
或一个标签 version:v2
的设置 。路由到 Customers如下所示:
文章插图
我们想把 VirtualService 配置为将流量路由到应用程序的 V1 版本 。70% 的传入流量应该被路由到 V1 版本 。30% 的请求应该被发送到应用程序的 V2 版本 。
下面是上述情况下 VirtualService 资源的yaml文件:
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:name: customers-route spec:hosts:- customers.default.svc.cluster.localhttp:- name: customers-v1-routesroute:- destination:host: customers.default.svc.cluster.localsubset: v1weight: 70- name: customers-v2-routesroute:- destination:host: customers.default.svc.cluster.localsubset: v2weight: 30
在 hosts
字段下,我们要定义流量被发送到的目标主机 。在我们的例子中,这就是 customers.default.svc.cluster.local
Kubernetes 服务 。下一个字段是
http
,这个字段包含一个 HTTP 流量的路由规则的有序列表 。destination
是指服务注册表中的一个服务,也是路由规则处理后请求将被发送到的目的地 。Istio 的服务注册表包含所有的 Kubernetes 服务,以及任何用 ServiceEntry资 源声明的服务 。
经验总结扩展阅读
- 破壁机玉米汁怎么榨才好喝
- 五行穿衣指南2023年9月24日 2023年穿衣五行颜色
- 玻璃自爆没掉下来怎么处理
- 2023年11月24日五行穿衣配色 今日幸运颜色讲究
- 2023年11月25日五行穿衣分享 穿什么颜色衣服好
- 2023年11月26日五行穿衣颜色搭配 今日招桃花幸运颜色
- 2023年11月27日五行穿衣颜色搭配 今日幸运颜色讲究
- 2023年11月28日五行穿衣配色 分享好运色穿衣搭配
- 2023年11月19日五行穿衣颜色搭配 今日幸运颜色查询
- 2023年11月20日五行穿衣查询 今日招桃花幸运颜色