rootless模式下istio ambient的流量管理测试

接上一篇rootless模式下istio ambient鉴权策略,本次测试管理流量的功能。

服务流量分割

Bookinfo应用程序有三个版本的reviews服务,接下来对这些版本进行分配流量控制测试。

longtds@ubuntu:~$ kubectl get pod |grep reviews
reviews-v1-746f96c9d4-2g9rq               1/1     Running   1 (23m ago)   3d2h
reviews-v2-97bdf5876-2djh9                1/1     Running   1 (23m ago)   3d2h
reviews-v3-77d9db6844-jmfxv               1/1     Running   1 (23m ago)   3d2h
longtds@ubuntu:~$

下面的配置将90%的请求发送到reviews v1,将10%的请求发送到reviews v2:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:name: reviews
spec:parentRefs:1. group: ""kind: Servicename: reviewsport: 9080rules:2. backendRefs:- name: reviews-v1port: 9080weight: 90- name: reviews-v2port: 9080weight: 10

因为上一篇我们把productpage授权只有sleep服务可以访问,执行下面的策略将productpage授权给gateway访问(也可以直接移除策略)

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:name: productpage-viewernamespace: default
spec:selector:matchLabels:app: productpageaction: ALLOWrules:3. from:- source:principals:- cluster.local/ns/default/sa/bookinfo-gateway-istio

应用上面的流量策略并启动客户端模拟请求:

while true;do curl -s http://192.168.1.15:30080/productpage;sleep 0.2;done

通过Kiali查看实际的流量分配情况:
在这里插入图片描述
从结果发现productpage服务对后端reviews v1和v2分别占比44.6%和5.4%,计算一下44.6/5.4约为8.26,接近设置的9。
造成这个问题的原因有下面几种可能(AI回答):

  1. 配置传播延迟:Istio 在 Kubernetes 上的实现使用最终一致性算法来确保所有 Envoy 边车(sidecar)都有正确的配置,包括所有的路由规则。配置更改需要一些时间来传播到所有的边车。在大型部署中,这种传播可能会需要更长的时间,可能会有几秒钟的延迟。

  2. 负载均衡算法:Istio 使用的负载均衡算法可能不是完全精确的,特别是当请求量不是很大时,实际的流量分配比例可能会因为统计波动而与配置的比例有所偏差。

  3. 服务实例健康状况:如果后端服务的实例健康状况不一,Istio 会根据健康检查结果进行流量分配,这可能会影响实际的流量分配比例。

  4. 重试和超时策略:Istio 支持重试和超时策略,这些策略可能会影响实际到达后端服务的流量比例。例如,如果一个服务的请求经常超时或失败,重试机制可能会导致流量重新分配,从而影响比例。

  5. 熔断机制:在 Istio 中,熔断机制可以防止服务故障扩散。如果某个服务实例触发了熔断,那么流向该实例的流量会被中断,这可能会影响流量分配的实际比例。

  6. 配置错误:可能存在配置错误,例如 VirtualService 或 DestinationRule 配置不正确,导致流量分配不符合预期。

总结

rootless模式下istio ambient的流量管理分配基本是符合预期的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

出类拔萃的四款录屏工具你pick哪一个?

在这个屏幕时代,录屏已经成为我们日常工作和娱乐中不可或缺的一部分。无论是为了记录游戏精彩瞬间,还是为了分享教程和经验,一个好的录屏工具都是必不可少的。今天,就让我为大家推荐几款电脑免费录屏工具,并分享一下使…

DDD通用语言、多尿和尿频-《分析模式》漫谈41

“Analysis Patterns”的第3章有这么一句: A patient with observations of the presence of thirst, weight loss, and polyuria indicates diabetes. 2004(机械工业出版社)中译本的译文为: 虽然没有完全使用类图(类…

【C++_string类练习】仅仅反转字母

题目链接:仅仅反转字母 解题思路: 这种反转字符的题目我第一个想到的方法就是:双指针 一个指针在前start,一个指针在后back, 如果指针所指向的位置的值是字母,那么两个指针位置的值就进行交换&#xff0…

矿山企业电能智能化管理怎么实现

0引言 电力工业是国民经济和社会发展的基础,随着高质量发展要求的提升,提高能源效率对工业企业至关重要。有效提高电力能效的方法包括技术创新、监测用能行为和探索技术解决方案。智能化的电能管理是应对资源和环境压力的关键措施,对提高用电…

点餐小程序实战教程20广告管理

目录 1 创建数据源2 添加轮播容器3 创建变量4 绑定变量5 预览应用总结 一般餐厅需要有一些宣传,在我们的点餐页面可以在顶部加载广告位。广告主要是用轮播图的形式进行展示,本节我们介绍一下如果显示广告。 1 创建数据源 打开控制台,点击应用…

10-Docker安装Redis

10-Docker安装Redis Docker安装Redis 以 Redis 6.0.8 为例: docker pull redis:6.0.8直接pull会出现以下错误 [rootdocker ~]# docker pull redis:6.0.8 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request can…

【Cadence27】HDL拷贝工程➕Allegro导出DXF和3D文件STP

【转载】Cadence Design Entry HDL 使用教程 【Cadence01】Cadence PCB Edit相对延迟与绝对延迟的显示问题 【Cadence02】Allegro引脚焊盘Pin设置为透明 【Cadence03】cadence不小心删掉钢网层怎么办? 【Cadence04】一般情况下Allegro PCB设计时的约束规则设置&a…

卸载 Git

目录 打开 Geek找到 Git右键卸载 Git卸载完成等待扫描注册表点击完成清除Git在本地的配置文件 打开 Geek 找到 Git 右键卸载 Git 卸载完成 等待扫描注册表 点击完成 已经删除完毕 清除Git在本地的配置文件 进入 C:\Users\用户名 删除框起来的配置文件 👇 源码资料…

webpack自定义插件 ChangeScriptSrcPlugin

插件文件 class ChangeScriptSrcPlugin {apply(compiler) {const pluginName "ChangeScriptSrcPlugin";compiler.hooks.compilation.tap(pluginName, (compilation, callback) > {compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync(pluginName,(html…

DES对称加密算法

DES(Data Encryption Standard,数据加密标准)是一种对称加密算法。 算法概述 加密类型:对称加密(同一密钥用于加密和解密)。密钥长度:64位(8字节),其中有效…

java--网络编程

网络的相关概念 网络通信 1.概念:两台设备之间通过网络实现数据传输2.网络通信:将数据通过网络从一台设备传输到另一台设备3.java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信 网络 概念:两台或多台设备通过一定物理设备连接…

UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘

目录 一、启动盘制作 1、工具准备 2、打开UltraISO后,点击左上角的文件,在打开的下拉项中,选择打开准备好的Ubuntu系统20.04 LTS镜像文件(ubuntu-20.04-desktop-amd64.iso); 3、然后点击启动->写入硬盘映像 4、在弹出的窗…

Pollard‘s p-1算法

概述 光滑数 (Smooth number):指可以分解为多个小素数乘积的正整数 当p是N 的因数,并且p−1是光滑数,可以考虑使用Pollards p-1算法来分解N 当p是N的因数,并且p1是光滑数,可以考虑使用Williamss p1算法来分解N 这里…

一个简单的Qt Console Application计算练习程序

初步体验Qt Creator 用途&#xff1a;练习20以内2位数乘法速算的程序 功能1&#xff1a;支持用户设定题目数量 std::cout << "请输入本次练习题目数量&#xff1a;";int numProblems 0;std::string num;std::cin >> num;try {numProblems std::stoi(…

飞腾X100适配Ubuntu说明

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

Docker配置网站环境

Mysql 先安装mysql 启动并后台运行&#xff1a;run -d 容器名称&#xff1a;--name 设置端口映射&#xff1a;-p 主机端口&#xff1a;容器端口 环境变量&#xff1a;-e 最后指定镜像名称 sudo docker run -d \--name mysql\-p 3306:3306\-e MYSQL_ROOT_PASSWORD123456\…

单细胞空间转录组RCTD去卷积分析学习和整理

RCTD(Robust Cell Type Decomposition)&#xff0c;是一种用于将单细胞RNA测序数据中的细胞类型注释转移到空间转录组学数据上的方法。RCTD 通过整合单细胞和空间转录组学数据&#xff0c;能够较为精确地为空间点&#xff08;spots&#xff09;分配细胞类型或细胞类型的混合&am…

LabVIEW风机滚动轴承监测系统

矿井主通风机作为矿井中最重要的通风设备&#xff0c;一旦出现故障&#xff0c;不仅会影响矿井内的空气质量&#xff0c;还可能引发安全事故。研究表明&#xff0c;通风机中约30%的故障是由轴承问题引起的。因此&#xff0c;能够实时监控矿井主通风机轴承状态的系统&#xff0c…

CSS网页布局(重塑网页布局)

一、实现两列布局 许多网站有一些特点&#xff0c;如页面顶部放置一个大的导航或广告条&#xff0c;右侧是链接或图片&#xff0c;左侧放置主要内容&#xff0c;页面底部放置版权信息等 一般情况&#xff0c;此类网页布局的两列都有固定的宽度&#xff0c;而且从内容上很容易区…

学习java第九天 简单小项目

今天简单写了小项目 import java.math.*; import java.util.*; public class Project_array{// data 拿到外面 封装的方法 共享同一个变量// static 静态上下文只能直接访问静态的变量// 一旦加上static 代表当前的变量全局共享一份static Record[] data {new Record("…