kubernetes istio
目录
一、部署
二、部署示例应用
三、部署遥测组件
四、流量管理
五、熔断
官网:https://istio.io/latest/zh/about/service-mesh/
一、部署
提前准备好文件
tar zxf 15t10-1.19.3-linux-amd64.tar.gz
cd 15t10-1.19.3/
export PATH=$PWD/bin:$PATHistioctl install --set profile=demo -y
kubectl get pod -A 
给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理

二、部署示例应用
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml




三、部署遥测组件
kubectl apply -f samples/addons

待插件部署完毕后,修改kiali服务的访问方式为Loadbalancer


访问kiali:http://192.168.67.125:20001/

四、流量管理
将所有流量路由到每个微服务的 v1 版本
kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml

来自名为 Jason 的用户的所有流量将被路由到服务 reviews:v2
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml


创建故障注入规则以延迟来自测试用户 jason 的流量
kubectl apply -f samples/bookinfo/networking/virtual-service-ratings-test-delay.yaml
设置流量转移,将所有流量转移到 reviews:v3
vim samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml


修改延迟规则为任何低于 2.5 秒的数值,例如 2 秒
vim samples/bookinfo/networking/virtual-service-ratings-test-delay.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-ratings-test-delay.yaml



把 50% 的流量从 reviews:v1 转移到 reviews:v3 一半v1 一半v3
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml



当reviews:v3 微服务已经稳定,可以通过应用 Virtual Service 规则将 100% 的流量路由 reviews:v3:
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-v3.yaml


清理:
samples/bookinfo/platform/kube/cleanup.sh 
五、熔断
kubectl apply -f samples/httpbin/httpbin.yaml
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:name: httpbin
spec:host: httpbintrafficPolicy:connectionPool:tcp:maxConnections: 1http:http1MaxPendingRequests: 1maxRequestsPerConnection: 1outlierDetection:consecutive5xxErrors: 1interval: 1sbaseEjectionTime: 3mmaxEjectionPercent: 100
EOF
kubectl apply -f samples/httpbin/sample-client/fortio-deploy.yaml 

登入客户端 Pod 并使用 Fortio 工具调用 httpbin 服务
export fortio-deploy-6cf68cc4c-qfcb=$(kubectl get pods -l app=fortio -o 'jsonpath={.items[0].metadata.name}')kubectl exec "fortio-deploy-6cf68cc4c-qfcb" -c fortio -- /usr/bin/fortio curl -quiet http://httpbin:8000/get

触发熔断器
发送并发数为 2 的连接(-c 2),请求 20 次(-n 20)
kubectl exec "fortio-deplov-6cf68cc4c-abfcb" -c fortio -- /usr/bin/fortio load -c 2 -qps 0 -n 20 -loglevel Warning http://httpbin:8000/get 

将并发连接数提高到 3 个
kubectl exec "fortio-deploy-6cf68cc4c-qbfcb" -c fortio -- /usr/bin/fortio load -c 3 -qps 0 -n 30 -loglevel Warning http://httpbin:8000/get


将并发连接数提高到 5 个 均被熔断器拦截
kubectl exec "fortio-deploy-6cf68cc4c-qbfcb" -c fortio -- /usr/bin/fortio load -c 5 -qps 0 -n 30 -loglevel Warning http://httpbin:8000/get 
清理
kubectl delete destinationrule httpbinkubectl delete -f samples/httpbin/sample-client/fortio-deploy.yaml
kubectl delete -f samples/httpbin/httpbin.yaml

回收istio
istioctl uninstall -y --purge
kubectl label namespace default istio-injection-


相关文章:
kubernetes istio
目录 一、部署 二、部署示例应用 三、部署遥测组件 四、流量管理 五、熔断 官网:https://istio.io/latest/zh/about/service-mesh/ 一、部署 提前准备好文件 tar zxf 15t10-1.19.3-linux-amd64.tar.gz cd 15t10-1.19.3/ export PATH$PWD/bin:$PATHistioctl install …...
25期代码随想录算法训练营第十四天 | 二叉树 | 递归遍历、迭代遍历
目录 递归遍历前序遍历中序遍历后序遍历 迭代遍历前序遍历中序遍历后序遍历 递归遍历 前序遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # …...
常用布局以及其优缺点
当涉及到设计和排版时,有许多不同的布局方式可供选择。以下是几种常见的布局方式以及它们的优缺点: 流式布局(Fluid Layout): 优点:能够根据屏幕大小自动调整内容,适应不同设备。灵活性高&#…...
海康工业相机如何提高相机帧率
影响帧率的因素 相机参数 帧率限制使能 像素格式 曝光时间 数据包大小(网口) 相机默认参数 ADC位深 系统环境设置...
Linux之IPC通信共享内存(一次拷贝)与消息队列、管道、信号量、socket(两次拷贝)总结(六十二)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
【多线程 - 01、概述】
进程 几乎所有的操作系统都支持进程概念,进程是处于运行过程中的程序,进程是操作系统中进行资源分配的基本单位。 三个基本特征 独立性:指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。而对于未建立任何进程的程序&…...
SQL SELECT INTO 语句
SQL SELECT INTO 语句 使用 SQL,您可以将信息从一个表中复制到另一个表中。 SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。 SQL SELECT INTO 语法 我们可以把所有的列都复制到新表中: SELECT * INTO newtable [IN ex…...
【刷题】(AtCoder Beginner Contest 328) C、D 补题
前言 第一次打 a了两道 C、D都是TLE 看了其他人的题解之后 有一些想法 所以发一篇博客 C 题干 题目链接 我的思路及做题过程 我的思路是 输入left、right 再在这个区间内计算字母相同的对数 代码是: #include<iostream> #include<cmath> #includ…...
NI USRP软件无线设备的特点
NI USRP软件无线设备 NI的USRP(Universal Software Radio Peripheral)设备是RF应用中使用的软件无线(SDR)。NI的USRP收发器可以在多个频段发送和接收RF信号,因此可用于通信工程教育和研究。通过与LabVIEW开发环境相结合,USRP可以实现使用无线信号验证无…...
大数据毕业设计选题推荐-污水处理大数据平台-Hadoop-Spark-Hive
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
最新获取支付宝cardIndex参数图文教程
本章教程主要介绍如何获取支付宝的cardIndex参数。 目录 一、登录到支付宝官网 二、在历史记录中,找到对应用户 一、登录到支付宝官网...
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
前言:在我的上一篇Linux博客我已经讲了基础指令和权限,现在我们来学习如何在Linux上运行和执行代码 目录 一,yum 二,vim 1)命令行模式 2)插入模式 3)底行模式 三,gcc/g 四&a…...
自然语言处理(一):RNN
「循环神经网络」(Recurrent Neural Network,RNN)是一个非常经典的面向序列的模型,可以对自然语言句子或是其他时序信号进行建模。进一步讲,它只有一个物理RNN单元,但是这个RNN单元可以按照时间步骤进行展开…...
超全总结!大模型算法面试指南(含答案)
大家好,从 2019 年的谷歌 T5 到 OpenAI GPT 系列,参数量爆炸的大模型不断涌现。可以说,LLMs 的研究在学界和业界都得到了很大的推进,尤其去年 11 月底对话大模型 ChatGPT 的出现更是引起了社会各界的广泛关注。 近些年࿰…...
前端使用C-lodop 实现循环套打小案例
目录 前言引入js文件小案例 前言 lodop是一个很优秀打印插件,具体的大家可以官网了解,先在官网下载插件,安装在本地,并启动,点击官网下载 引入js文件 //本JS是加载Lodop插件或Web打印服务CLodop/Lodop7的综合示例&a…...
基于SpringBoot+Vue+mysql卓越导师双选系统设计与实现
博主介绍:✌Csdn特邀作者、博客专家、博客云专家、B站程序阿龙带小白做毕设系列,项目讲解、B站粉丝排行榜前列、专注于Java技术领域和毕业项目实战✌ 系统说明简介: 如今的信息时代,对信息的共享性,信息的流通性有着较…...
Windows 11系统cmd终端美化、Vscode终端美化
win11美化cmd终端和vscode的终端 1. 修改终端背景2. oh-my-posh2.1 安装oh-my-posh2.2 安装Clink2.3 Clink配置oh-my-posh2.4 下载和配置Nerd字体2.5 修改美化主题 3. vscode终端美化 电脑默认的终端没有语法高亮这些,运行命令和代码输出字体一样,有时会…...
[游戏中的图形学实时渲染技术] Part1 实时阴影技术
原理篇: 常见的渲染方程如下: 在不考虑自发光项与考虑阴影对于着色结果的影响之后可以将方程变化为如下形式: 如果射线在到达光源前击中了其他物体时,就认为这条来自光源的光线对着色点没有贡献。 利用上述渲染方程进行正确的着…...
NtripShare Mos地铁自动化监测终端盒子硬件设计
自动化监测产品到目前为止做了接近一年,在软件层面上,控制终端软件、平台软件、网平差算法都已解决,硬件盒子始终是心里过不去的坎,最终还是没有耐住性子自己做了一把。 选型如下: 1、主板:瑞芯微RK3568主板。 2、外…...
第 117 场 LeetCode 双周赛题解
A 给小朋友们分糖果 I 动态规划:设 p [ k ] [ i ] p[k][i] p[k][i] 为将 i i i 个糖果分给 k k k 个小朋友的方案数,先求 p [ 2 ] [ i ] p[2][i] p[2][i] ,再求 p [ 3 ] [ n ] p[3][n] p[3][n] class Solution { public:using ll long …...
寻音捉影·侠客行惊艳演示:多暗号并行扫描,3个关键词0.8秒全部锁定
寻音捉影侠客行惊艳演示:多暗号并行扫描,3个关键词0.8秒全部锁定 1. 引言:在声音的海洋里,如何快速找到那根针? 你有没有过这样的经历?手头有一段长达一小时的会议录音,老板在里面提到了一个关…...
AI股票分析师场景应用:快速搭建本地化金融分析工具全流程
AI股票分析师场景应用:快速搭建本地化金融分析工具全流程 1. 引言:金融分析的智能化转型 在金融投资领域,及时获取专业分析报告是做出投资决策的关键。传统方式需要依赖券商研究报告或付费咨询,不仅成本高昂,还存在隐…...
AIAgent强化学习实战跃迁:从OpenAI Gym到工业级决策系统,3周完成Agent训练闭环
第一章:AIAgent强化学习实战跃迁:从OpenAI Gym到工业级决策系统,3周完成Agent训练闭环 2026奇点智能技术大会(https://ml-summit.org) 本章聚焦真实工业场景下的Agent训练闭环构建——以电力调度优化任务为载体,将经典CartPole环…...
人形机器人遥操作技术的核心优势与应用场景解析
1. 人形机器人遥操作技术为什么值得关注 第一次接触人形机器人遥操作技术是在三年前的一个医疗展会上。当时看到外科医生坐在控制台前,通过手柄和视觉反馈系统,精准操控一台人形机器人完成葡萄皮缝合演示。这个场景让我意识到,这项技术正在突…...
rk3399平台rtl8723DS Wi-Fi模块SDIO接口驱动移植与双模配置实战
1. 认识rk3399与rtl8723DS这对黄金搭档 第一次拿到rk3399开发板和rtl8723DS模块时,我就像拿到新玩具的孩子一样兴奋。rk3399这颗六核处理器在嵌入式领域堪称性能怪兽,而rtl8723DS作为Wi-Fi蓝牙二合一模块,2.4GHz频段支持加上双模共存特性&…...
DVWA实战:从Low到Impossible,层层拆解反射型XSS的攻防博弈
1. 初识反射型XSS:从DVWA靶场开始 第一次接触反射型XSS时,我在DVWA靶场的Low安全级别下尝试输入<script>alert(hello)</script>,页面竟然直接弹出了对话框。这种"所见即所得"的攻击效果让我瞬间理解了XSS的威力——它就…...
为什么Nuxt本地开发会收到Chrome DevTools的请求?深入解析与两种解决方案
为什么Nuxt本地开发会收到Chrome DevTools的请求?深入解析与两种解决方案 在Nuxt.js本地开发过程中,不少开发者都遇到过这样一个现象:控制台频繁出现/.well-known/appspecific/com.chrome.devtools.json路径的404警告。这看似无害的提示背后&…...
手把手教你用MFRC522射频模块实现门禁系统(附完整代码)
手把手教你用MFRC522射频模块实现门禁系统(附完整代码) 在智能家居和安防领域,射频识别(RFID)技术因其非接触式交互特性而广受欢迎。MFRC522作为一款高性价比的13.56MHz射频模块,配合Arduino或STM32等开发板…...
AgentRun:当 Serverless 与 AI Agent 结合,如何颠覆传统的舆情分析模式
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
别再手动传包了!用SCP+tar一条龙搞定Linux服务器JDK17环境部署
别再手动传包了!用SCPtar一条龙搞定Linux服务器JDK17环境部署 每次部署Java环境都要重复下载、上传、解压、配置的繁琐流程?作为经历过上百次服务器环境搭建的老手,我总结出一套SCPtar自动化部署方案,将传统半小时的流程压缩到3分…...

