Istio整体架构解析

简介: 【7月更文挑战第17天】Istio整体架构分为数据平面(Data Plane)和控制平面(Control Plane)两部分

Istio在微服务之间建立连接,接管通信功能,对业务微服务屏蔽通信细节,同时通过流量控制、策略控制、遥测统计、Istio安全机制等对微服务进行监控和管理,使得微服务架构更加健壮、安全和易扩展。Istio整体架构分为数据平面(Data Plane)和控制平面(Control Plane)两部分。


一、数据平面

数据平面除了负责实际流量转发工作的数据转发代理服务istio/proxy之外,还有几个关键组件:pilot-agent负责转发代理的启动和生命周期管理,istio-init负责流量透明拦截的配置,pilot-agent、istio-init和转发代理一同部署,共同为业务流量转发保驾护航。

  • istio/proxy

istio/proxy是Istio在Envoy官方源码基础上的扩展实现,除了包括Envoy的全部功能外,还包括了一些扩展支持,Istio扩展通过Envoy过滤器插件的方式提供,当前主要扩展是Mixer客户端的支持。

  • pilot-agent

pilot-agent是一个本地代理,负责管理istio/proxy服务的整个生命周期。具体包括istio/proxy准备启动参数和配置文件,负责管理istio/proxy的启动过程,istio/proxy启动后的运行状态监控。当监控到istio/proxy运行状态不正常时,pilot-agent负责将istio/proxy重新调整到正常状态,调整策略具体包括重启或者调度到其他节点运行等。

pilot-agent和istio/proxy均会启动相应的HTTP管理端口,供外界查询当前的运行状态,如果运行状态不符合预期时,可以采取相应的控制策略。

  • istio-init

istio-init负责业务微服务的流量透明拦截,通过配置相应的流量拦截策略,可以将业务服务的所有出入流量转发到本地的数据平面代理节点处理。Istio当前使用Iptables作为默认的流量拦截策略,istio-init通过istio-iptables.sh拦截配置,配置相应的Iptables规则,完成具体的流量拦截操作。

  • node-agent

Istio为了实现不同节点之间的安全通信,通信一般是通过TLS的方式进行。为了完成TLS通信,数据平面代理节点需要获取证书和密钥相关的信息。node-agent就是负责证书和密钥等安全信息的获取,和istio/proxy、pilot-agent以及istio-init的Pod级别的部署方式不同,node-agent当前采用Kubernetes Node级别的部署方式,每个Node上部署一个node-agent。

node-agent作为代理服务,接收数据平面代理节点的证书请求,转换成控制平面需要的格式,请求控制平面的证书管理服务,完成证书和密钥的获取和下发。

二、控制平面

控制平面中,istio-telemetry提供可观测性支持,基于istio-telemetry可以掌控整个Istio集群当前的运行状态;istio-pilot和istio-policy分别负责流量控制和策略控制,观测到运行状态不符合预期时,可以通过istio-pilot对流量和路由转发进行控制与调整,通过istio-policy可以灵活动态地引入新的基础设施,对Istio运行进行精细化控制。

  • istio-pilot

istio-pilot负责Istio数据平面的XDS配置管理,具体包括:①流量管理和服务发现配置等,通过提供通用的流量管理模型和服务发现模型,对接不同的平台适配层;②提供统一的XDS API,供Envoy服务调用。

部署上,通过Kubernetes Service istio-pilot对外提供服务,可以配置为1到多个副本。Istio当前支持多集群模式,istio-pilot不仅可以负责当前Istio集群的XDS配置管理,同时可以支持其他Istio集群以远程的方式和istio-pilot进行交互。

  • sidecar-injector

sidecar-injector负责数据平面代理Sidecar的注入,通过Sidecar的透明注入支持,可以减少Istio部署和运维上的复杂度,对Istio的大规模开展有着非常重要的意义。

  • istio-telemetry和istio-policy

istio-telemetry和istio-policy均属于Mixer服务,分别负责遥测统计和策略控制工作。这两个服务的代码和二进制文件完全一样,之所以分开部署,是因为遥测统计和策略控制是两个差异很大的功能特性,分开部署方便采用不同的配置和管控方式,也可通过部署隔离避免相互之间的影响。

  • istio-catedal

istio-catedal属于通信安全,负责安全证书的管理和发放,istio-catedal并不是唯一的证书管理方式,Istio当前支持Catedal、Vault和Google等多种证书管理方式,Catedal是当前默认的证书管理方式。当采用其他证书管理方式时,不需要部署istio-catedal,比如使用Vault时就不再需要部署istio-catedal,相反则需要使用Vault对应的证书服务器。

  • istio-galley

istio-galley是Istio1.1新引入的配置管理框架,在引入Galley之前,Istio控制平面的各个组件需要分别对Kubernetes资源进行管理,包括资源的配置验证,监控资源配置变化,并针对配置变更采取相应的处理等。


为了减少Istio不同组件配置管理方面的重复工作,Istio将配置管理相关的工作抽象出一个单独的组件Galley,后续其他Istio组件不再需要单独和各种平台上的资源直接打交道,而是使用简易的接口和Galley进行交互,由Galley负责配置验证、配置变更管理、配置源管理、多平台适配等工作。

相关文章
|
5月前
|
数据采集 机器学习/深度学习 人工智能
YOLOv11浅浅解析:架构创新
YOLOv11是YOLO系列最新升级版,通过C3k2模块、SPPF优化和解耦检测头等创新,显著提升检测精度与速度,mAP提高2-5%,推理更快,支持多平台部署,适用于工业、安防、自动驾驶等场景。
|
5月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
1387 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
34_GPT系列:从1到5的架构升级_深度解析
大型语言模型(LLM)的发展历程中,OpenAI的GPT系列无疑扮演着至关重要的角色。自2018年GPT-1问世以来,每一代GPT模型都在架构设计、预训练策略和性能表现上实现了质的飞跃。本专题将深入剖析GPT系列从1.17亿参数到能够处理百万级token上下文的技术演进,特别关注2025年8月8日发布的GPT-5如何引领大模型技术迈向通用人工智能(AGI)的重要一步。
|
4月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
|
5月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
279 2
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
338 8
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
在5G电信领域,Kubernetes集群中部署微服务至关重要,但也带来了重大的安全挑战。Istio作为一个强大的开源服务网格,能有效地管理这些微服务间的通信,通过其控制平面自动将Sidecar代理注入到各微服务Pod中,确保了安全且高效的通信。Istio的架构由数据平面和控制平面组成,其中Sidecar代理作为Envoy代理运行在每个Pod中,拦截并管理网络流量。此外,Istio支持多种Kubernetes发行版和服务,如EKS等,不仅增强了安全性,还提高了应用性能和可观测性。
329 2
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战

推荐镜像

更多
  • DNS