Istio基础知识

news2024/10/6 6:34:13

一、什么是Istio

Istio 提供⼀种简单的⽅式来为已部署的服务建⽴⽹络,该⽹络具有 负载均衡、服务间认证、监控等功能,只需要对服务的代码进⾏⼀点或不需要做任何改动。想要让服务⽀持 Istio,只需要在您的环境中部署⼀个特殊的 sidecar 代 理,使⽤ Istio 控制平⾯功能配置和管理代理,拦截微服务之间的所有⽹络通信:
HTTP、gRPC、WebSocket 和 TCP 流量的⾃动负载均衡。
通过丰富的路由规则、重试、故障转移和故障注⼊,可以对流量⾏为进⾏细粒度控制。
可插⼊的策略层和配置 API,⽀持访问控制、速率限制和配额。
对出⼊集群⼊⼝和出⼝中所有流量的⾃动度量指标、⽇志记录和追踪。
通过强⼤的基于身份的验证和授权,在集群中实现安全的服务间通信。

Istio 旨在实现可扩展性,满⾜各种部署需求 。

二、什么是service mesh

在从单体应⽤程序向分布式微服务架构的转型过程中,开发⼈员和运维⼈员⾯临诸多挑战,使⽤ Istio 可以解决这些问题。
服务⽹格(Service Mesh)这个术语通常⽤于描述构成这些应⽤程序的微服务⽹络以及应⽤之间的交互。随着规模和复杂性的增⻓,服务⽹格越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如 A/B 测试、⾦丝雀发布、限流、访问控制和端到端认证等。
Istio 提供了⼀个完整的解决⽅案,通过为整个服务⽹格提供⾏为洞察和操作控制来满⾜微服务应⽤程序的多样化需求。

三、架构原理

四、其他概念

4个配置资源
这4个配置资源,落地所有流量管控需求

VirtualService: 实现服务请求路由规则的动能
DestinationRule: 实现⽬标服务的负载均衡、服务发现、故障处理和故障注⼊的功能
Gateway: 让服务⽹格内的服务,可以被全世界看到
ServiceEntry: 让服务⽹格内的服务,

功能列表

以下是从官⽹各项示例中整理出来的Istio所⽀持的功能列表 

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

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

相关文章

【Linux驱动】USB协议

🐱作者:一只大喵咪1201 🐱专栏:《Linux驱动》 🔥格言:你只管努力,剩下的交给时间! USB协议 😼认识USB🙀USB的电气信号低速和全速信号电平低速和全速的数据信…

2024-5-1我把QQ群聊天记录分析工具重写了一下

【下载地址】 https://www.lanzoub.com/b00rn0g47e 密码:9hww 【项目背景】 2020年我用Tkinter写过一个QQ群聊天记录分析的工具exe,后续也写过一个纯JS前端的版本,前阵子有个用户反馈不能用了,顺便看能不能加入一个分析关键词的功能&…

基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic

题目:在线学习与推荐系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本在线学习与推荐系统就是在这样的大环境下诞生&#xff0…

安装库后JupyterLab一直报ModuleNotFoundError问题解决

背景: 先安装的Python3.10,安装在默认路径: C:\Users\#用户名省略#\AppData\Local\Programs\Python\Python310\ 后安装的Anaconda,更改过路径在D盘: D:\ProgramData\anaconda3 此时C盘Python安装路径下Scripts文件…

十二、视觉内容生成模型

1 判别式模型和生成式模型 1. 判别式模型 学习策略函数 Y f ( X ) Yf(X) Yf(X)或者条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X)不能反映训练数据本身的特性学习成本低,需要的训练样本少无法转为生成式 2. 生成式模型 学习联合概率密度分布 P ( X ∣ Y ) P(X|Y) P(X∣…

【通信中间件】Fdbus HellWorld实例

Fdbus实例教程 Fdbus简介 Fdbus 全称 Fast Distributed Bus(高速分布式总线),提供IPCRPC功能。适用于多种OS: LinuxQNXAnroidOSWindow Fdbus本质是Socket,IPC基于Unix domain socket,RPC基于TCP。使用G…

Elasticsearch 索引 blocks:深入探讨数据保护

Elasticsearch 作为搜索和分析数据的首选分布式引擎在技术领域脱颖而出,尤其是在处理日志、事件和综合文本搜索时。 它的与众不同之处在于它如何让你使用各种块选项调整对其索引的访问。 这对于那些负责技术项目的人(比如管理员和编码员)来说…

AI手机,走入小径分岔的花园

博尔赫斯在他的成名作《小径分岔的花园》里,描述了一种奇妙的世界观:一个可能性被选择之后,出现了许多不同的后世,许多不同的时间。 在现实世界中,选择不会如此神奇。但站在岔路口的抉择,也一定会带来结果的…

【Week-Y7】使用自己的数据集训练YOLO-v8

文章目录 一、官方环境配置与测试1. 配置环境2. 用官方图片测试(图片下载失败)3. 用本地图片测试,检查配置的环境是否可用 二、使用自己的数据集进行训练测试1. 执行split_train_val.py文件2. 执行python .\voc_label.py文件3. 创建fruit.yam…

本地搭建llama大模型及对话UI

环境说明:MBP 2023 M2Pro芯片 用到的工具/组件/技术:ollama、llama3:8b、docker、open-webui 1.下载ollama ollama官网下载地址:https://ollama.com/download 到ollama官网地址下载对应操作系统版本的ollama平台,按照安装指引…

python报错SyntaxError

如果报这个错, 在你的相应的demo.py文件首行输入下面的,可以多试一下,之后就好了。 这个解决方法也是参考其他大佬的做法,不知道为什么python中#是注释,这个也会起作用。 然后就神奇的发现问题解决了。发现下面的代码…

天地图路径规划功能实现

目录 1、天地图路径规划2、路径规划3、参数说明4、Demo 1、天地图路径规划 天地图Web服务API为用户提供HTTP/HTTPS接口,即开发者可以通过这些接口使用各类型的地理信息数据服务,可以基于此开发跨平台的地理信息应用。 Web服务API对所有用户开放。使用本…

Tensorflow2.0笔记 - ResNet实践

本笔记记录使用ResNet18网络结构,进行CIFAR100数据集的训练和验证。由于参数较多,训练时间会比较长,因此只跑了10个epoch,准确率还没有提升上去。 import os import time import tensorflow as tf from tensorflow import keras …

自动安装环境shell脚本使用和运维基础使用讲解

title: 自动安装环境shell脚本使用和运维基础使用讲解 tags: [shell,linux,运维] categories: [开发记录,系统运维] date: 2024-3-27 14:10:15 description: 准备和说明 确认有网。 依赖程序集,官网只提供32位压缩包,手动编译安装后,在64位机…

动态数据结构中的表扩张性:摊还分析、伪代码与C语言实现

动态数据结构中的表扩张性:摊还分析、伪代码与C语言实现 引言表扩张性的概念摊还分析在表扩张性中的应用伪代码示例:TABLE-INSERT操作C语言实现结论 引言 在处理数据结构时,尤其是表(或数组),我们经常面临…

STM32标准库编译前置条件配置

本文基于stm32f104系列芯片,记录编程代码前需要的操作: 添加库文件 在ST官网下载标准库STM32F10x_StdPeriph_Lib_V3.5.0,解压后,得到以下界面 启动文件 进入Libraries,然后进入CMSIS,再进入CM3&#xff…

CUDA内存模型

核函数性能并不只与线程束的执行有关。 CUDA内存模型概述 GPU和CPU内存模型的主要区别是,CUDA编程模型能将内存层次结构更好地呈现给用户,能让我们显示的控制它的行为。 对程序员来说,一般有两种类型的存储器: 可编程的&#x…

【Qt QML】用CMake管理Qt工程

CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。CMake使用简单的独立配置文件来控制软件编译过程。与许多跨平台系统不同,CMake被设计为与本地构建环境结合使用。 下面我们在CMake项目中使用Qt的最基本方法。首先,创建一个基本…

向量体系结构:向量执行时间

看《计算机体系结构 量化研究方法》做的笔记,接着上一篇写 计算机体系结构:向量体系结构介绍-CSDN博客 向量处理器工作的示例 SAXPY或DAXPY循环。 aXY SAXPY代表“单精度aX加Y”,进行单精度浮点数的运算,其中a是一个标量&#x…

测试开发工具开发 -JMeter 函数二次开发

在JMeter中开发自定义函数是一个常见的需求,允许我们扩展JMeter的功能以适应特定的测试需求。自定义函数可以用来处理数据,生成输出,或者执行特定的运算。通过JMeter函数二次开发可以帮我们解决实际测试过程中造数难的问题 用过JMeter的同学…