Istio 版本变更

本节记录了 Istio 的版本变更。

历史版本追踪

下面是对 Istio 历史版本发布的追踪表格。

版本 发布时间 可用性 环境 API 性能 评论
0.1 2017-05-24 仅支持 HTTP,仅支持单 namespace,使用命令修改应用的 YAML 配置的方式注入 sidecar。 仅支持 Kubernetes 流量管理确立了 RoutingRule、DestinationPolicy。 正式开源,该版本发布时仅一个命令行工具。确立了功能范围和 sidecar 部署模式,确立的 Envoy 作为默认 sidecar proxy 的地位。
0.2 2017-10-10 支持 TCP,支持自动注入 sidecar,支持自定义 mixer 扩展,支持自定义秘钥和证书给 Istio CA,支持 WebSocket、MongoDB 和 Redis 协议。 支持 Nomad、Consul、Eureka、Cloud Foundry、Mesos,通过 Mesh expansion 的方式开始支持虚拟机 流量管理新增了 EgressRule。 近五个月时间才发布了新版本,对于一个新兴的开源项目来说时间过长。
0.3 2017-11-29 无重大更新,主要承诺加快版本发布节奏为月度更新。
0.4 2017-12-18 支持使用 Helm Chart 安装。 增加了对 Cloud Foundry 平台的支持 距离上个版本发布仅 2 个多周,无重大更新,主要在平台和安装方式上增加了更多选项。
0.5 2018-02-02 支持渐渐式安装,支持使用 Kubernetes 的新特性实现 sidecar 自动注入。 主要增强易用性。
0.6 2018-03-08 Pilot 现在支持将自定义 Envoy 配置传递到 proxy。 常规更新,无重大变更。
0.7 2018-03-28 开始引入新的流量管理 API v1apha3,着手使用 VirtualService 和 DestinationRule 替换原先的 RoutingRule 和 DestinationPolicy。 主要改进测试质量。
0.8 2018-06-01 安全模块重命名为 citadel。 路由模型有重大调整,API 级别的重大更新,不再向前兼容。 变更之大堪称 1.0。
1.0 2018-07-31 支持多 Kubernetes 集群。 不再支持 Eureka、Cloud Foundry、Mesos。 API 更加稳定。 做了大量优化。 响应社区对 Istio 性能的质疑,优化了性能并出具了报告。虽然号称生产就绪,但是此时还没有充足的生产案例。
1.1 2019-03-19 新增配置管理组件 Galley,新增了 sidecar 资源,使用 Kiali 替换了 Istio 原先使用的 ServiceGraph 插件。 新增了 ServiceEntry。 在大企业中应用遇到瓶颈。 API 更加稳定,支持多 Kubernetes 集群,号称“企业就绪”。
1.2 2019-06-18 开始受主流云供应商支持。 主要改进发布机制,成立了多个与测试、发布相关的工作组。
1.3 2019-09-12 在安装时开始使用 manifest 文件。 常规更新,主要是优化用户体验。
1.4 2019-11-14 新增了 Istio Operator 的安装方式。 优化 Istio 的用户体验,提高 Istio 的性能。
1.5 2020-03-05 控制平面整合为 istiod,弃用 helm,使用 istioctl manifest 安装。 回归单体架构,支持 WebAssembly 扩展。
1.6 2020-05-21 进一步整合了 istiod,使用 istioctl install 命令来替代 manifest apply 的安装过程。 新增了 WorkloadEntry。 迈向极简主义,Istiod 更加完整,也彻底移除了 Citadel、Sidecar Injector 和 Galley。
1.7 2020-08-21 对 istioctl 命令进行了改进,增强易用性。 增强易用性。
1.8 2020-11-18 正式弃用 mixer,在 sidecar 中增加了智能 DNS 代理,重新回归到 helm 安装。 不再支持 consul 新增了 WorkloadGroup。 进一步完善了对虚拟机的支持。
1.9 2021-02-09 注重改善 Day2 体验。 没有重大功能,主要是稳定 API。
1.10 2021-05-19 继续改善 Day2 操作并改版了官网 新增了发现选择器。 通过引入发现选择器进一步优化了性能。
1.11 2021-08-12 CNI 插件取代了 istio-init 容器。
1.12 2021-11-19 新增了 WasmPlugin 新增了 WASM 插件管理器。

重大版本

Istio 发展至今,历史上最重要的版本发布是:

  • 0.1:正式开源

  • 0.2:开始支持多种运行环境

  • 0.8:API 重构

  • 1.0:一个生产可用的临界点,此后 Istio 团队进行了大规模重组

  • 1.1:支持多 Kubernetes 集群,并对性能进行了优化

  • 1.5:重新回到单体,微服务组件合并成 istiod

  • 1.8:正式废弃 Mixer,并重点增加对虚拟机的支持

更多历史等待我们书写……