怎样在Linkerd2中进行流量拆分
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,怎样在Linkerd2中进行流量拆分,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最新发布的 Linkerd 2.4,加
千家信息网最后更新 2025年02月03日怎样在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安全错误
数据库的锁怎样保障安全
r星的服务器地址
数据库主文件可以改文件组吗
七日杀旧日服务器端
守望先锋 服务器ip
淮安市金宏软件开发有限公司
网络安全运维平台 招标
数据库技术与应用高阳课后答案
云服务器要关电脑吗
静安区智能软件开发设备
正版生存服务器
PUBMED数据库技术学校
服务器运维管理ppt
美国网络安全指数
mc服务器怎么查看mspt
数据库根据id删除记录吗
山东天鼎成网络技术有限公司
c语言导出数据库
xmind连接服务器是什么
服务器怎么设密码
压实责任筑牢网络安全防线
常见网络安全案例分析
G1服务器
明煜网络技术有限公司
人人有网络安全吗
win7 服务器设置
软件开发干得很痛苦
软件开发价格构成标准
服务器运维管理ppt
重庆系统软件开发哪家好
应用软件开发方法