怎样在Linkerd2中进行流量拆分
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,怎样在Linkerd2中进行流量拆分,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最新发布的 Linkerd 2.4,加
千家信息网最后更新 2025年12月02日怎样在Linkerd2中进行流量拆分
怎样在Linkerd2中进行流量拆分,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
最新发布的 Linkerd 2.4,加入了对流量拆分的支持。
安装最新版本之后,可以看到这个流量拆分功能所使用的 API 资源并非来自 Linkerd,而是 SMI 规范的一部分。
$ curl -sL https://run.linkerd.io/install | sh
...
$ kubectl api-resources | grep -i split
trafficsplits ts split.smi-spec.io true TrafficSplit和 Istio 的 Service + Selector 的拆分方式不同,Linkerd 其实没有什么特别的上游定义方式,简单的定义独立的 Service 即可。例如我们要从 flaskapp 服务分流到 v1 和 v2 两个版本,在 Istio 中,需要定义一个 flaskapp 服务,然后使用标签,在 Service 的标签子集中,选择两组 Subset 作为目的地。而在 Linkerd/SMI 中,就需要分别定义三个服务了,例如 flaskapp、flaskapp-v1、flaskapp-v2。下面简单操练一下。
$ wget https://raw.githubusercontent.com/fleeto/istio-for-beginner/master/code/flaskapp/flaskapp.istio.yaml
$ linkerd inject flaskapp.istio.yaml | kubectl apply -f -
...
$ wget https://raw.githubusercontent.com/fleeto/istio-for-beginner/master/code/sleep/sleep.yaml
$ linkerd inject sleep.yaml | kubectl apply -f -
...分别安装了两个版本的 flaskapp,和一个版本的 sleep 服务之后。再创建两个 flaskapp 的分版本服务。
apiVersion: v1
kind: Service
metadata:
name: flaskapp-v1
labels:
app: flaskapp
spec:
selector:
app: flaskapp
version: v1
ports:
- name: http
port: 80
targetPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: flaskapp-v2
labels:
app: flaskapp
spec:
selector:
app: flaskapp
version: v2
ports:
- name: http
port: 80
targetPort: 80创建两个服务之后,就可以尝试拆分了,同样是一个 YAML:
apiVersion: split.smi-spec.io/v1alpha1
kind: TrafficSplit
metadata:
name: flask-split
spec:
service: flaskapp
backends:
- service: flaskapp-v1
weight: 1
- service: flaskapp-v2
weight: 500m注意这里的定义和 Istio 也稍有不同,使用权重而非百分比进行分流。
可以在 Sleep 中进行测试:
$ for i in {1..1000}; do curl -sSL http://flaskapp/env/version | grep v1; done | wc -l
660可以看到,按照我们的权重分配,成功进行了分流。但是目前在 SMI 中并没有看到条件选择的相关内容,因此目前的功能可能还比较初级。可以通过 Flagger 的加持,实现更加复杂的功能。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
服务
版本
两个
流量
功能
不同
内容
方式
权重
标签
帮助
支持
选择
复杂
清楚
成功
三个
可以通过
子集
对此
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长沙新途软件开发
数据仓库是什么数据库集合
数据采集中的数据库技术
数据库垃圾数据要不要清理
怎么显示数据库的信息
服务器换硬盘前干什么
阿里云服务器 外网访问
织梦网站数据库备份到哪了
软件开发收入增值税税率
安卓软件开发培训班排行
数据库常用的常量
数据软件开发和大数据一样吗
数据库连接一直转圈
斗罗大陆魂师对决服务器合服
chart能绑定数据库吗
修改数据库数据相关法律
靖江进口网络技术市场
渗透测试转网络安全
单机数据库的缺点
软件开发寿险部
软件开发岗位名称
北京网络技术服务优点
数据库垃圾数据要不要清理
攻击英雄联盟服务器
韦德视频软件开发
北京软件开发培训收费标准
大学班级班会会议记录网络安全
个人社交数据库软件
电子表格数据库如何排序
西安雁塔区互联网科技产业园区