Istio 架构

发布时间: 更新时间: 总字数:768 阅读时间:2m 作者: 分享 复制网址

Istio架构

Istio 架构

Istio 架构组成:

  • 控制平台(control plane):配置中心,动态的对 envoy 进行配置
  • 数据平台(data plane):业务之间的通信平面
    • 使用 enovy(istio-proxy) 代理所有的网络流量

Istio 架构演化

  • 2017/5 v0.1 初始化版本

v1.0 版本

istio v1.0 arch

v1.1 版本

  • 2019/3 v1.1 发布企业级可用(Enterprise ready),参考:https://istio.io/v1.1/docs/concepts/what-is-istio/,v1.1 ~ v1.4 架构基本相同
istio v1.1~1.4 arch

说明:

  • 新增 Galley,解耦部分 Pilot 能力
  • Mixer 添加 adapter,扩展 Mixer 的扩展能力,但 Mixer 负担重,存在性能瓶颈
  • 架构复杂,排错难

v1.5+ 版本

  • 2020/3 v1.5 架构重构(1.5+ 后的版本)
istio latest(v1.5+) arch

说明:

  • istiod
    • 单体应用 istiod 整合 Pilot、Citadel、Galley 和 Sidecar Injector,简化架构
      • Pilot 控制平面核心组件
        • 管理和配置部署在 Istio 服务网格中的 Envoy 代理
        • 为 Envoy Sidecar 提供服务发现、智能路由的流量管理功能
      • Citadel 认证和凭证管理等安全功能
      • Galley
        • 是 Pilot 适配底层平台的功能而独立的组件,是完成 Istio 的配置验证、摄取、处理和分发组件
        • 从 kube-apiserver 加载配置,通过 Pilot 进行分发
    • istiod 充当控制平面,将配置分发到所有 sidecar 代理和网关
    • istiod 支持为网格应用实现职能化的负载均衡机制,且相关流量绕过 kube-proxy
  • ingress-gateway
  • engress-gateway
  • Addons
    • Kiali
    • Prometheus
    • Grafana
    • Jaeger
  • 新增 istioctl 和 VM Support
  • 废弃了影响性能的 Mixer,遥测使用 Telemetry v2 代替,由 Envoy 自行完成
    • 使 Istio 性能大幅度提升

新框架性能

参考:https://istio.io/latest/docs/ops/deployment/performance-and-scalability/

性能会有一些损耗,但基本可接受。

流量示意图

istio data flow

说明:

  • Gateway 网关:接收流量转发给 VirtualService
  • VirtualService:实现如下功能:
    • 路由规则
    • 超时重试
    • 故障注入
    • 流量镜像
  • DestinationRule:目标定义、subsets
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数