istio 实战 四 权重路由以及监控

系列文章


简介

本任务将演示如何逐步将流量从一个版本的微服务迁移到另一个版本。例如,您可以将流量从旧版本迁移到新版本。

一个常见的用例是将流量从一个版本的微服务逐渐迁移到另一个版本。在 Istio 中,您可以通过配置一系列规则来实现此目标,这些规则将一定百分比的流量路由到一个或另一个服务。在此任务中,您将 50% 的流量发送到 reviews:v1,另外 50% 的流量发送到 reviews:v3。然后将 100% 的流量发送到 reviews:v3 来完成迁移。

图片来自于istio社区:
在这里插入图片描述


前提


任务

将 50% 的流量从 reviews:v1 转移到 reviews:v3

操作步骤

1. 流量全部切换到 reviews:v1 版本
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml -n bookinfo

浏览器访问 http://hostip:port/productpage
不管刷新多少次,页面的评论部分都不会显示评级星号,因为 Istio 被配置为将 reviews 服务的的所有流量都路由到了 reviews:v1 版本, 而该版本的服务不会访问带星级的 ratings 服务。

在这里插入图片描述

2. 切换50%流量到 reviews:v3 版本
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml -n bookinfo

浏览器访问 http://hostip:port/productpage
刷新浏览器中的 /productpage 页面,大约有 50% 的几率会看到页面中出带红色星级的评价内容。这是因为 v3 版本的 reviews 访问了带星级评级的 ratings 服务,但 v1 版本却没有。

在这里插入图片描述
在这里插入图片描述

通过 Dashboard 监控流量

istio 内置了 Grafana 和 prometheus。
prometheus: 用来收集指标,并在 Prometheus 服务中查询 Istio 指标。
Grafana: 通过 Grafana Dashboard 对服务网格中的流量进行监控。

kubectl get pod -n istio-system

在这里插入图片描述

1. 检测 prometheus
kubectl -n istio-system get svc prometheus
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
prometheus   ClusterIP   10.111.73.248   <none>        9090/TCP   23h
2. 检测 Grafana
kubectl -n istio-system get svc grafana
NAME      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
grafana   ClusterIP   10.106.87.165   <none>        3000/TCP   23h
3. 添加端口

由于使用的是ClusterIP 类型集群外部无法访问 ,通过端口转发映射本地端口到指定的应用端口.

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

在 Web 浏览器中访问 http://localhost:3000/dashboard/db/istio-mesh-dashboard
查看 Istio 仪表盘
在这里插入图片描述

浏览器访问 http://hostip:port/productpage
刷新几次, 再次查看 Istio 仪表盘。
在这里插入图片描述

Grafana + prometheus 可以采集各种维度的数据有兴趣的童鞋 可以自己研究、这里不赘述。

github地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值