深度解析 Istio 流量五虎将:Ingress、Egress、Gateway、ServiceEntry 与 VirtualService

文章目录

    • 一、 角色定位:谁是实体?谁是配置?
    • 二、 核心关联:流量是如何流动的?
      • 场景 1:南北流量——外部用户访问内部服务(Ingress)
      • 场景 2:东西/南北流量——内部服务访问外部 API(Egress)
    • 三、 深度对比:ServiceEntry vs Gateway vs VirtualService
      • 1. Gateway 资源 vs VirtualService
      • 2. ServiceEntry vs VirtualService
    • 四、 实战场景:我该什么时候用谁?
    • 五、 总结:理清思路的架构图

在 Kubernetes 的原生世界里,我们习惯了 Ingress 和 Service。但当你踏入 Istio 服务网格(Service Mesh)的大门时,你会发现流量控制变得极其细腻但也更复杂。

很多初学者会被 Ingress Gateway、Egress Gateway、Gateway 资源、ServiceEntry 和 VirtualService 这几个概念绕晕。本文将通过“围城”理论,带你剥开这些概念的层层外壳。


一、 角色定位:谁是实体?谁是配置?

首先,我们要区分“物理实体”和“逻辑配置”。

  1. 物理实体(Envoy 代理)

    • Ingress Gateway:运行在网格边缘的 Envoy 代理 Pod。它是流量进入网格的“城门”。
    • Egress Gateway:运行在网格边缘的 Envoy 代理 Pod。它是流量离开网格的“检查站”。
    • 注:它们本质上都是 Deployment + Service (LoadBalancer)。
  2. 逻辑配置(CRD 资源)

    • Gateway (资源):定义城门的“规格”。比如:开哪个端口?用什么协议(HTTP/HTTPS)?证书是什么?
    • ServiceEntry:外来人口的“登记表”。让网格认识那些不在 Kubernetes 里的服务。
    • VirtualService:流量的“交警”。决定流量匹配到规则后,具体甩给哪个后端服务。

二、 核心关联:流量是如何流动的?

我们可以通过两个经典的流量场景,看清它们如何“接力”。

场景 1:南北流量——外部用户访问内部服务(Ingress)

这是流量“进城”的过程。

  1. 用户访问api.example.com
  2. 流量命中Ingress Gateway Pod(物理实体)。
  3. Gateway 资源(配置)发挥作用:它被绑定到那个 Pod 上,配置了 Envoy 监听 443 端口并加载了 SSL 证书。
  4. VirtualService(配置)发挥作用:它关联了上面的 Gateway 资源,查看路径/v1
  5. VirtualService指向内部的 KubernetesService
  6. 流量最终到达后端 Pod

关系口诀:Gateway 开门,VirtualService 导航。

场景 2:东西/南北流量——内部服务访问外部 API(Egress)

这是流量“出城”的过程,也是最容易混淆的部分。

  1. 内部 Pod发起curl https://google.com
  2. ServiceEntry(配置)发挥作用:如果网格开启了“严格注册模式”,必须有 ServiceEntry,Istio 才知道google.com是谁。
  3. VirtualService(配置)发挥作用:它可以定义——“凡是去往 google.com 的流量,必须先转发到 Egress Gateway Pod”。
  4. Egress Gateway Pod(物理实体)接收流量。
  5. Gateway 资源(绑定在 Egress 上)发挥作用:定义出口网关监听的协议和端口。
  6. 流量离开网格,到达真正的Google 服务器

关系口诀:ServiceEntry 给身份,Egress Gateway 做审计。


三、 深度对比:ServiceEntry vs Gateway vs VirtualService

为了进阶理解,我们需要剖析它们的细微差别:

1. Gateway 资源 vs VirtualService

  • Gateway关注的是L4-L6(网络层/传输层):端口、协议、SNI、TLS 证书。它不关心具体的 URL 路径。
  • VirtualService关注的是L7(应用层):HTTP 路由、Header 匹配、重试、超时、流量比例切分。
  • 联系:当流量从外部进来时,VirtualService 必须通过gateways字段引用 Gateway 资源。

2. ServiceEntry vs VirtualService

  • ServiceEntry解决了“有没有”的问题:它将外部主机名(如mysql.aliyun.com)添加到 Istio 内部的服务发现中。
  • VirtualService解决了“怎么走”的问题:你可以为 ServiceEntry 定义路由规则。例如,访问外部数据库时,如果失败了自动重试 3 次。

四、 实战场景:我该什么时候用谁?

需求场景使用资源组合
暴露一个 HTTPS 网站给外网用户Ingress Gateway + Gateway(资源) + VirtualService
将流量在 v1 和 v2 版本间做 90/10 灰度VirtualService + DestinationRule
内部 Pod 需要调用公司老旧系统的物理机数据库ServiceEntry
强制所有上外网的流量经过一个固定的安全出口进行审计ServiceEntry + VirtualService + Egress Gateway + Gateway(资源)
内网服务 A 调用服务 B 时,响应超过 2s 就超时VirtualService

五、 总结:理清思路的架构图

  • Ingress Gateway= 城门。
  • Egress Gateway= 边境检查站。
  • Gateway 资源= 城门的准入手册(端口、TLS)。
  • ServiceEntry= 驻外大使馆名单(让城里人认识外面的人)。
  • VirtualService= 城市里的交警和路牌(负责所有的路由决策)。

专家提示
在生产环境中,尽量保持VirtualService的简洁。如果是南北流量,VS 应该在istio-system或特定的入口命名空间管理;如果是东西流量,VS 应该随应用一起部署在同一个命名空间下。

通过这种“实体”与“配置”的分离,Istio 实现了极高的灵活性:你可以随时更换物理网关(扩容或升级),而无需修改复杂的业务路由逻辑(VirtualService)。

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

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

相关文章

得物App智能巡检技术的探索与实践

一、背景 随着得物App各业务功能的丰富和升级,得物App内可供用户体验的内容和活动逐步增多,在用户App内体验时长不断增长的大背景下,App使用过程中的体验问题变得愈发重要。同时,在整个功能研发流程中,App端的测试时间…

英超阿森纳这个球队怎么样?

作为英超最长情的观察者(自1886年建队以来从未降级),阿森纳总能用它的独特魅力吸引你。它既是一部厚重的足球历史书,又是当下欧洲足坛最锋利、最沉稳的力量之一。下面让我为你展开这幅“兵工厂”的画卷。 一、 球队名片 昵称&…

收藏级干货!2025年AI工程化范式转移:从Chatbot到Agent的系统架构演进全解析

本文深入分析了2023-2025年AI工程生态的范式转移,从Chatbot到Agent与系统工程的演进。详细介绍了现代LLM应用的四层架构(智能层、能力层、连接层、编排层),探讨了智能体的定义、认知架构及多智能体系统,对比了Tools与S…

MCU的最小系统都需要哪些?

MCU(Microcontroller Unit,微控制器)最小系统,是指让一片 MCU 芯片独立完成上电启动、执行基础程序所必需的最精简电路集合。它如同电子设备的 “裸机核心”,仅保留 MCU 运行的绝对必要条件,不包含任何用于…

【珍藏】一文掌握Bridgic动态拓扑:三种编排模式的代码实现与原理解析

文章介绍了Bridgic框架中的三种编排模式:静态编排、动态编排和自主编排,通过代码展示了它们如何实现。核心是动态有向图(DDG)架构,支持运行时动态修改拓扑结构,满足AI Agent系统的高度动态性需求。框架提供了add_worker、ferry_to…

‌测试技术债务管理

一、测试技术债务的本质与分类‌ 测试技术债务(Testing Technical Debt)是软件测试领域中因短期妥协而累积的长期维护成本,其本质是‌测试资产质量的系统性退化‌。与开发技术债务不同,测试债务不直接体现在业务功能缺陷上&#…

深度解析:智能体反思模式:解决AI输出质量问题的终极方案,开发必藏!

本文详细介绍了智能体设计中的反思模式,这是一种让智能体对自身输出进行评估并自我优化的机制。通过"执行-评估-优化"的闭环迭代,智能体能主动发现问题、修正错误,大幅提升输出质量。文章阐述了反思模式的概念特征、价值意义、典型…

汽车制造业如何借助工业解决方案实现数字化转型?

在汽车制造加速智能化转型的今天,“工业解决方案”这个词,正悄悄褪去它以往那种设备堆砌的冰冷印象,变得更像一场系统性的生命重构——数据是血脉,AI是大脑,真实的生产场景成了它鲜活的肌体。我们说,这场变…

‌如何做探索性测试

探索性测试的定义与重要性‌ 探索性测试(Exploratory Testing, ET)是一种非脚本化的软件测试方法,由测试人员实时设计、执行和优化测试用例,依赖个人技能、经验和直觉来发现潜在缺陷。与脚本化测试不同,ET强调在测试过…

‌测试领导力培养指南

一、测试领导力的本质:从“找Bug”到“质量驱动者”的角色跃迁‌ 传统意义上的测试工程师,核心职责是执行用例、报告缺陷、保障上线质量。而现代测试领导者,已演变为‌质量文化的塑造者、技术战略的制定者与跨职能团队的赋能者‌。其领导力并…

【必藏】传统PM转型AI PM完全指南:从0到1构建你的AI产品能力,逆袭之路全解析

本文详细介绍了传统产品经理如何转型为AI产品经理的完整路径。文章阐明AI PM与传统PM的核心区别在于处理确定性vs概率性逻辑,指出应用层是普通PM转型的最佳战场。系统讲解了AI PM所需的核心技能:技术边界理解、工程思维和场景定义能力,并提供…

Multi-Agent系统从入门到精通:架构设计、LangGraph实现与生产级部署全流程

文章详解了Multi-Agent系统的架构设计与LangGraph实现方法,包括科学拆分Agent的原则、状态共享机制、技术选型考量,以及基于LangGraph的客服系统实现步骤。提供了从Demo到生产系统的工程化关键点、避坑指南和决策者行动清单。强调架构设计比技术选型更重…

电脑干货:Coodesker桌面整理软件介绍(附下载)

软件下载 桌面整理软件 大家在使用电脑的过程中,随着文件和应用程序的不断增加,电脑桌面往往变得杂乱无章,严重影响了我们的工作效率。为了解决这一问题,今天为大家介绍一款免费的小巧、无广告的桌面图标整理工具——Coodesker酷…

2026必备!研究生必用TOP8 AI论文网站深度测评

2026必备!研究生必用TOP8 AI论文网站深度测评 一、不同维度核心推荐:8款AI工具各有所长 学术写作包含开题、初稿、查重、降重、排版等多个环节,不同工具在细分场景中优势各异。以下结合实测体验,按综合适配性排序推荐。 工具名称功…

计算机毕业设计springboot智慧物业管理系统 基于SpringBoot的社区数字化运营平台 SpringBoot驱动的云端物业综合服务平台

计算机毕业设计springboot智慧物业管理系统y6vy729z (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。城市化把“小区”变成了微缩城市,水电报修、停车缴费、安防巡查、…

超强硬盘健康检测工具--CrystalDiskInfo新版本,绿色单文件便携版~

软件获取地址 硬盘检测监控工具 对于电脑的硬盘问题,分享迷有个非常好用的工具要分享给大家,一款开源免费的硬盘检测工具——CrystalDiskInfo 这是一位日本开发者开发的专业硬盘健康状态信息检测工具,专为检查 HDD 机械硬盘和 SSD 固态硬盘的…

2025必备10个降AIGC工具,继续教育人群必看

2025必备10个降AIGC工具,继续教育人群必看 AI降重工具:让学术写作更自然、更专业 在当前的学术写作环境中,越来越多的论文和报告需要经过AI生成内容的检测与优化。AIGC率过高不仅会影响论文的原创性评估,还可能影响最终的评分结果…

【AI Agent系列】智能体创建全攻略:ReAct原理+联网搜索实战,附代码详解,建议收藏

【AI Agent系列】智能体创建全攻略:ReAct原理联网搜索实战,附代码详解,建议收藏持续更新 本文详细介绍了AI Agent的创建与实现,包括基础Agent概念、ReAct工作原理及联网搜索工具应用。通过代码示例展示了如何使用LangChain创建能自…

计算机毕业设计springboot基于Web的大学生兼职系统 基于SpringBoot的校园灵活用工撮合平台 Web端大学生校园零工智能匹配系统

计算机毕业设计springboot基于Web的大学生兼职系统4z145dd1 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着高校扩招与生活成本上升,课余兼职已成为大学生提升实…

如何利用工业自动化提升汽车制造效率与柔性化生产?

工业自动化正在以前所未有的势头,重新定义现代制造业的基因——尤其是在汽车这样精度至上的行业,它的影响远不止于“机器换人”。我们曾经依赖大量工人完成焊接、喷涂、装配这些重复甚至高危的环节,而如今,自动化早已超越机械替代…