Istio 介绍

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

Istio是一种支持可观察性、流量管理、安全性和策略的领先服务网格提供者(Simplify observability, traffic management, security, and policy with the leading service mesh.)。

介绍

Istio 可以干什么:

  • 使用 TLS 加密、强身份认证和授权的集群内服务到服务的安全通信
  • 自动负载均衡的 HTTP, gRPC, WebSocket,和 TCP 流量
  • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制
  • 一个可插入的策略层和配置 API,支持访问控制、速率限制和配额
  • 对集群内的所有流量(包括集群入口和出口)进行自动度量、日志和跟踪

Istio 核心功能:

  • 流量管理(Traffic Management)
    • 通过 Istio 的规则配置(如超时、重试、断路器等)流量路由允许控制服务之间的流量和 API 调用流
    • 支持 A/B 测试、金丝雀发布和灰度发布
  • 安全(Security)
    • Istio 提供了底层的安全通信通道,并管理服务通信的身份验证、授权和加密
  • 可观察(Observability)
    • Istio 提供健壮的跟踪、监视和日志功能
    • 可以通过自定义仪表盘支持对所有服务的性能观测
  • 可扩展性(Extensibility)

其他:

  • 多平台支持
    • 支持 Kubernetes、Mesos 等

Istio 与 k8s 的关系

Istio 可以理解为 Kubernetes 的扩展(Extension),通过 CRD 控制器(声明式 API)实现

CRD

Istio 的流量控制策略和路由规则基于 kubernetes CRD实现,CRD group 如下:

  • Netwotk (nerworking.istio.io):流量治理,包括
    • VirtualService
    • DestinationRule
    • Gatevay
    • ServiceEntry
    • Sidecar
    • EnvovFilter
    • WorkloadEntry
    • WorkloadGroup 等
  • Security (security.istio.io):网格安全,包括
    • AuthotizationPolicy
    • PeerAuthentication
    • RequestAuthentication 等
  • Telemetry (telemetry.istio.io):网格遥测,仅包括 Telemety
  • Extensions (extensions.istio.io):扩展机制,仅包括 WasmPlugin,参考:WebAssembly 使用介绍
  • IstioOperator (install.istio.io):只有 IstioOperator CR

Envoy

Envoy 是轻量级网络代理的实现,按照工作位置,Envoy 在 Istio 中可以分为:

  • SideCar-Envoy:东西向流量
    • 借助 admission 自动注入到 Pod 中
    • 所有的 Service 均转化为 envoy 的 vhost
  • GateWay-Envoy: 南北向流量
    • 组成:
      • Ingress Gateway
      • Egress Gateway
    • 南北向流量有 GateWay 转为东西向流量

Envoy的组成包括:

  • Listener
    • VHost
      • Route
        • Cluster

Envoy 还可以集成 WASM API

参考

  1. https://istio.io/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数