istio介绍补充以及使用篇

news/2025/2/22 5:32:35

istio介绍补充以及使用篇

    • 前言
  • 介绍istio各个组件
  • 创建istio的方式
    • 手动注入
    • 自动注入side car
  • 使用istio做流量灰度
  • 如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论!

前言

前篇istio介绍了引入istio前以及k8s的关系,下文主要做出补充以及对它的使用

istio_6">介绍istio各个组件

pilot:负责服务发现与路由规则(平面数据规则),pilot只提供服务注册接口,真正注册的工作还是会对接真正的注册中心nacos这些;
数据平面下发规则:
在这里插入图片描述
Mixer:该组件不是必须的,主要有两个功能,在调用服务时决定是否满足调用权限;收集上游和下游服务envoy日志;(这两个功能分别由mixer里的两个组件,policy和另一个组件来完成)
在这里插入图片描述
catedel:该组件也不是在架构中必须的。虽然mixer可以决定是否可以调用下游服务,但调用的安全是由catedel组件来保证;
在这里插入图片描述
gallery:该组件也不是必须的,不直接与数据平面提供业务能力,而是位于控制平面,给Mixer和pilot组件提供配置管理,它用到了MCP分发协议
在这里插入图片描述
side car-injector组件:是用于在创建pod时注入side car,有两种注入方式;
envoy组件:里面分为两个组件,负责服务发现(是指从pilot中服务发现);
在这里插入图片描述

istio_20">创建istio的方式

分为手动注入和自动注入:

手动注入

指定deployment和service资源
在这里插入图片描述
然后用istio命令创建:
在这里插入图片描述
pod中有两个容器:
在这里插入图片描述
可以查看pod的创建流程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自动注入side car

在这里插入图片描述
先删除之前手动注入的istio
在这里插入图片描述
无论自动注入还是手动注入,原理都是在yaml文件追加代理容器side car,当然推荐使用自动注入;

istio_41">使用istio做流量灰度

在这里插入图片描述
本来是v1版本,后面切换50%的流量到v3,于是执行reviews-50-v3.yaml,切换一段时间,发现没什么问题,就将全部流量切换到v3版本,于是执行reviews–v3.yaml。
reviews-50-v3.yaml:
在这里插入图片描述
每做出一个路由变动,都是执行一个新的yaml文件,而且路由的对象类型是virtualService。

如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论!


http://www.niftyadmin.cn/n/5861640.html

相关文章

DeepSeek 提示词:定义、作用、分类与设计原则

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

跳跃游戏II(力扣45)

这道题在跳跃游戏(力扣55)-CSDN博客 的基础上需要找到最小的跳跃次数。那么我们需要用一个变量来统计跳跃次数,而难点就在于何时让该变量的值增加。这一点我写在注释中,大家结合我的代码会更好理解。其他部分跟跳跃游戏(力扣55)-CSDN博客 几乎相同&#…

LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践

文章目录 引言理解 Flows(工作流)与 Crews(协作组)一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库(crewai、litellm) 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…

【Linux-网络】深入拆解TCP核心机制与UDP的无状态设计

🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚引言 📚一、UDP协议 📖 1.概述 📖 2.特点 &#x1…

CMU Sphinx、Kaldi 和 Mozilla DeepSpeech 三个开源语音识别引擎的综合比较

CMU Sphinx、Kaldi 和 Mozilla DeepSpeech 三个开源语音识别引擎的综合比较与评估,涵盖技术特点、部署复杂度、适用场景及优缺点分析: 1. CMU Sphinx 技术特点 模型基础:基于传统的隐马尔可夫模型(HMM)和 N-gram 语言…

SpringBoot 中配置 Servlet、Filter、Listener

在SpringBoot应用中,嵌入式的 Servlet 3.0 容器不会直接使用 ServletContainerInitializer 和 WebApplicationInitializer,即通过以上两个接口实现的 Servlet、Filter、Listener 配置都是无效的,这是为了防止第三方代码的设计损坏应用程序&am…

Flutter 中的单例模式

传统: class RouterManager {// 单例模式static final RouterManager _instance RouterManager._internal();factory RouterManager() {return _instance;}RouterManager._internal(); }传递参数进行初始化时: class RouterManager {// 私有静态实例&a…

C/C++高性能Web开发框架全解析:2025技术选型指南

一、工业级框架深度解析(附性能实测) 1. Drogon v2.1:异步框架性能王者 核心架构: Reactor 非阻塞I/O线程池(参考Nginx模型) 协程实现:基于Boost.Coroutine2(兼容C11)…