【02】Istio流量治理

2.1 Istio流量治理

  • Istio的流量路由规则使运维人员可以轻松控制服务之间的流量和API调用
    • Istio简化了诸如断路器,超时和重试之类的服务级别属性的配置,并使其易于设置重要任务(如A/B测试,canary部署和基于百分比的流量拆分的分段部署)。
    • 它还提供了开箱即用的故障恢复功能,有助于使应用程序更强大,以防止相关服务或网络的故
  • 使用Istio进行流量管理从本质上是将流量与底层基础架构解耦,从而让运维工程师能够通过Pilot指定他们希望流量自身需要遵循哪些规则,而非仅仅只能定义由哪些特定的pod/VM接收流量,并在这些pod/VM之间以受限于数量比例的方式分配流量;
    • Pilot和Envoy proxy负责实现流量规则中定义的流量传输机制;
    • 例如,可以通过piot指定特定服务的5%流量到canary版本,而与Canary部署大小无关,或者根据请求内容将流量发送到特定版本
  • Istio的所有路由规则和控制测略基于k8s的CRD实现,这包括网络功能相关的VirtualService、DestionRule、Gateway, serviceEntry和EnvoyFilter等。

2.1.1 Istio流量治理的关键配置

  • Istio通过Ingress Gateway为网格引入外部流量;

    • Gateway中运行的主程序为Envoy,同样从控制平面接受配置,并完成相关流量传输;
    • Gateway资源对象用于将外部访问映射到内部服务,它自身只负责通信子网相关功能,例如套接字,而7层路由功能则由VirtualService实现;
  • Istio基于ServiceEntry资源对象将外部服务注册到网格内,从而将外部服务以类同内部服务一样的方式进行访问;

    • 对于外部服务,网格内的sidercar方式运行的Envoy即能执行治理;
    • 若需要将外出流量收束与特定的几个节点需要使用专用的Egress Gateway完成;

    在这里插入图片描述

  • VirtualService和D二十题nationRules是Istio流量功能的核心组件

  • VirtualService用于将分类流量并将其路由到指定的目的地(Destination),而Destination Rules用于配置那个指定的Destination如何处理流量

    • Virtual Service

      1. 配置如何将请求路由到网格中的各service之上
      2. 通常由一组路由规则组成,这些路由规则按照顺序评估
      3. 事实上,定义的是分发给网格内各Envoy的virtualHost和Route的相关配置;
    • Destination Rules

      1. 定义流量在目标内部的各端点之间的分发机制,例如将各端点进行分组,分组内端点间的流量均衡机制,异常探测等;
      2. 事实上,其定义的分发给网格内各Envoy的cluster相关配置;
  • VirtualService定义虚拟主机及其相关的路由规则,包括路由到哪各集群

  • DestinRules定义集群或子集内部的流量分发机制

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

2.1.2 配置Istio流量治理

  • 流量治理基础
    • 集群外部的入站流量会经由ngress Gateway到达集群内部
      1. 需要经由Gateway定义的Igress gateway上的虚拟主机;
      2. 包括目标流量访问的"host",以及虚拟主机监听的端口
    • 集群内部流量仅在sidecar 之间流动
      1. virtualSrvicce 为sidcar envoy定义listener(主要定义流量路由机制);
      2. DestinationRule为sidercar envoy定义cluster(包括发现端点等);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT-3.5 插件推荐:语音输入,视频总结,联网检索

前言 GPT4 里是有内置的插件市场的,不过博主一直觉得自己对这个工具的使用还不够到位,现在购买升级版性价比不划算所以暂时还没有开。不过今天在学习使用的时候,发现 GPT3.5 也是可以通过网页插件方式进行升级扩展的,而且功能还比…

【APUE】高级I/O

目录 一、五大 IO 模型 1.1 完整的 IO 过程 1.2 阻塞 IO 1.3 非阻塞 IO 1.4 信号驱动式 IO 1.5 多路转接 1.6 异步 IO 二、有限状态机编程 2.1 基本思想 2.2 数据中继模型 2.3 数据中继实现 2.4 中继引擎实现 三、IO多路转接 3.1 select 3.2 poll 3.3 epoll …

python3+requests+unittest实战系列【一】

1.环境准备 python3 pycharm编辑器 2.框架目录展示 (该套代码只是简单入门,有兴趣的可以不断后期完善) (1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送;…

postswigger 靶场(CSRF)攻略-- 1.没有防御措施的 CSRF 漏洞

靶场地址: What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy (portswigger.net)https://portswigger.net/web-security/csrf 没有防御措施的 CSRF 漏洞 题目中已告知易受攻击的是电子邮件的更改功能,而目…

Python实现WOA智能鲸鱼优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

DeepFool: a simple and accurate method to fool deep neural networks

DeepFool: a simple and accurate method to fool deep neural networks----《DeepFool:一种简单而准确的欺骗深度神经网络的方法》 摘要 最先进的深度神经网络已经在许多图像分类任务上取得了令人印象深刻的结果。然而,这些相同的架构已被证明对于图像…

纯c语言模拟栈(初学必看)

1.栈的概念及其结构 栈是一种特殊的线性表,在栈这个结构里,越先存进去的数据越难取出来。 这个结构就像是一个只有一端有打开的容器,越先放进去的球越在底部,想要把底部的球拿出来,就必须先把前面的求拿出来。像这种”…

使用 ESP-IDF-SBOM 生成软件物料清单

概述 “软件物料清单” (SBOM) 已经成为软件安全和软件供应链风险管理的关键组成部分。SBOM 是与应用程序相关的所有软件组件、依赖项和元数据的详尽清单。 乐鑫认为,SBOM 信息是确保联网设备安全性的关键。因此,我们现在提供了相关工具和解决方案&…

02-瑞吉外卖员工表的增删改查

添加员工信息 执行流程 第一步: 用户点击添加员工按钮跳转到add.html页面,然后在页面中输入要添加的员工的信息 第二步: 用户点击保存按钮发送Ajax请求将用户输入的员工信息以json的格式提交到服务端 第三步: 服务端Controller接收页面提交的json格式的数据并转化为java对象…

Vue3 ref函数和active函数

一、ref函数 我们在setup函数中导出的属性和方法虽然能够在模板上展示出来,但是并没有给属性添加响应式,因此,我们需要使用ref函数来为我们的数据提供响应式。 (一)引入ref函数 import { ref } from "vue"…

Sprint Boot 学习路线 6

测试 Spring提供了一组测试工具,可以轻松地测试Spring应用程序的各个组件,包括控制器、服务、存储库和其他组件。它具有丰富的测试注释、实用程序类和其他功能,以帮助进行单元测试、集成测试等。 JPA测试 Spring JPA(Java Pers…

pytorch框架学习(tensorboard的使用)

什么是tensorboard? tensorboard是一个可视化工具,它可以把训练过程中的数据变化以图像的形式绘制出来,或者记录训练过程中使用的图片 tensorboard的安装: 在pycharm的终端中输出安装命令后自动安装—— pip install tensorbo…

加速mvn下载seatunnel相关jar包

seatunnel安装的时候,居然要使用mvnw来下载jar包,而且是从https://repo.maven.apache.org 下载,速度及其缓慢,改用自己本地的mvn下载。 修改其安装插件相关脚本,复制install-plugin.sh重命名为install-plugin-mvn.sh …

玩转硬件之Micro:bit的玩法(五)——垃圾分类

垃圾分类,为了美好的明天 垃圾是我们生活中不可避免的产物,每天都有大量的垃圾被丢弃,如果不加以处理,就会给环境和人类带来严重的危害。 垃圾分类是一种有效的垃圾管理方式,它是指按照一定的标准或规则,将…

[量子计算与量子信息] 2.1 线性代数

2.1 线性代数 符号对照表 量子力学中,向量使用 ∣ ψ ⟩ \ket \psi ∣ψ⟩ (ket)来表示,可以理解为一个列向量。其对偶向量为 ⟨ ψ ∣ \bra \psi ⟨ψ∣ ,可以理解为行向量。 向量空间中零向量直接用 0 0 0 表示, ∣ 0 ⟩ \…

网络安全黑客技术自学

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防…

如何利用黑群晖虚拟机和内网穿透实现公网远程访问

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

基于51单片机DS18B20温度检测报警系统串口设置阀值-仿真及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、DS18B20采集温度值送到数码管显示。 3、按键报警阀值或串口设置阀值。 4、测量温度小于下限或大于上限,蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uint z; …

八皇后问题

1.八皇后BOSS 2.战术分析 第一个皇后先放第一行第一列第二个皇后放在第二行第一列、然后判断是否OK,如果不OK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适继续第三个皇后,还是第一列、第二列.…直到第8个皇后也能放在一个不冲突的位置,算是找到了一个正确解当得到…

LeetCode(9)跳跃游戏【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 55. 跳跃游戏 1.题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回…