重磅:CNCF 宣布 Istio 项目正式毕业

道客船长得悉重磅快讯,北京时间 7 月 12 日晚 CNCF 将再添一员毕业级项目:Istio。CNCF 现有 20 个毕业项目,毕业级项目是目前 CNCF 生态体系中的最高级别,其中包含了众多耳熟能详的项目,例如 containerd、Kubernetes、Helm、Harbor 等。

01

Istio 简介

Istio 项目最初由 Google、IBM 和 Lyft 共同开发,并于 2017 年成立了独立的开源项目。很快,该项目引起了广泛的关注和采用,成为当今最受欢迎的服务网格解决方案之一。

在微服务架构中,应用程序被拆分为多个小型、自治的服务,每个服务都有自己的特定功能。然而,服务之间的通信管理变得复杂,包括负载均衡、服务发现、流量控制、故障恢复等。这就是为什么需要服务网格来解决这些挑战。

Istio 的目标是提供一种简化和增强微服务之间通信的方式。它通过在应用程序之间插入专用代理(Envoy)来实现对流量的细粒度控制和管理。Istio 能够提供服务发现、负载均衡、流量路由、故障恢复、检测和监控等功能,同时保持对应用程序无感知。

02

CNCF 与 Istio

Istio 于 2022 年 4 月申请加入 CNCF。当时,CNCF 意识到了其在推动云原生计算和微服务架构中的重要性,迅速将 Istio 作为一个孵化项目纳入了 CNCF 的管辖范围。此举进一步加强了 Istio 的社区支持、可持续发展以及与其他云原生项目的协作。

通过与 CNCF 的合作,Istio 能够更好地吸引开发者和用户,促进其社区的扩大和贡献的增加。同时,CNCF 提供了规范、治理和资源支持,帮助 Istio 成为一个成熟、可信赖的云原生技术项目。

03

Istio 发展历程

Istio 从诞生之时就备受瞩目,加持 github 社区力量后如虎添翼,后被接纳成为 CNCF 孵化项目,并于今日宣布正式毕业。

1. 初始阶段(2017 – 2018 年):Istio 项目于 2017 年由 Google、IBM 和 Lyft 共同推出,旨在解决微服务架构中的通信管理问题。2018 年发布了 Istio 1.0,它引入了 Envoy 代理,并提供了服务发现、负载均衡、流量控制和故障恢复等功能。

2. 快速发展(2019 – 2021 年):Istio 在这段时间迅速受到关注和采用。许多组织开始使用 Istio 来简化和增强他们的微服务架构。Istio 团队持续发布新版本,不断改进和扩展功能,以满足用户需求。

3. 纳入 CNCF(2022 年):Istio 被纳入 CNCF 的孵化项目。这意味着 CNCF 将为 Istio 提供支持、资源和社区治理。这一举措进一步加强了 Istio 的可持续性和发展,并将其与其他云原生计算项目紧密联系起来。

4. 社区增长和生态系统发展(至今):自从成为 CNCF 孵化项目后,Istio 的社区持续扩大,吸引了更多开发者和用户的参与。此外,越来越多的公司和组织提供了基于 Istio 的解决方案和服务,丰富了 Istio 的生态系统。

3.1 版本迭代

1.0 版本(2018 年 7 月 24 日):
此版本为 Istio 的第一个长期支持(LTS)版本,包括了对应用程序运行时行为的观察、控制和保护的全面能力。

1.1 版本(2019 年 3 月 19 日):
提供了性能改进、增加了新特性并加强了集成能力。这个版本在流量管理、安全性、遥测和策略领域有着多方面的改进。

1.2 版本(2019 年 6 月 18 日):
针对遥测、性能、易用性和可扩展性进行了改进,包括了 Kubernetes Ingress 的实验性支持、链路追踪的完善、资源的验证等。

1.3 版本(2019 年 9 月 10 日):
增强了遥测、安全性和流量管理,以及一些新功能,如服务端口协议的自动检测、无需 Mixer 的遥测,自定义 Envoy 配置的 Enovyfilter 等等。

1.4 版本(2019 年 11 月 14 日):
引入了自动 mTLS、SDS(Secret Discovery Service)以及对平台和环境的更好支持等,同时 AuthorizationPolicy 被推广至 Beta 版本。

1.5 版本(2020 年 3 月 5 日):
在此版本中,Istio 进行了大量更新,包括对单体控制面的转换(将以前的组件如 Pilot、Citadel、Galley 等合并成 Istiod),提供了更好的可操作性,简化了安装和升级。

1.6 版本(2020 年 5 月 21 日):
提供了对运维者和开发者更好的用户体验,增强了遥测,提供了 WebAssembly 的实验性支持等。

1.7 版本(2020 年 8 月 21 日):
提高了安全性和易用性,增强了遥测,提供了更好的虚拟机接入体验等。

1.8 版本(2020 年 11 月 10 日):
提供了更多的自动化和安全性改进,同时对安装和升级 Istio 的体验进行了极大地改善,加入了多集群支持,优化了虚拟机接入体验等。

1.9 版本(2021 年 2 月 9 日):
提供了 Virtual Machine Integration 的稳定支持,流量管理的改进,强化了可观察性,引入了 K8S Gateway 等。

1.10 版本(2021 年 5 月 18 日):
进一步提高了性能和易用性,包括对运行在虚拟机上的工作负载的改进、对多集群配置的改进等。

1.11 版本(2021 年 8 月 12 日):
增加了一些改进和新功能,包括在遥测方面,如请求分类、可访问性控制等。

1.12 版本 (2021 年 11 月 8 日):
新增了 WasmPlugin API,用于处理 WASM 插件,以及进一步增强了 Telemetry API 的功能。

1.13 版本(2022 年 2 月 11 日):
进一步优化了遥测方面的功能,同时新增了 ProxyConfig API,现在可以使用自定义资源影响不同范围内的边车配置。

1.14 版本(2022 年 6 月 1 日):
安全性的功能得到进一步提高,比如新增了对 SPIRE 运行时的支持,对 auto-sni 的支持等。

1.15 版本(2022 年 8 月 31 日):
主要新增了对 arm64 平台的支持。

1.16 版本(2022 年 11 月 15 日):
提供了很多新功能和优化,比如 K8S Gateway API 被推广到 Beta 版本,边车和网关的 HBONE 协议支持,Istio 对于 OpenTelemetry 的链路追踪支持等。

1.17 版本(2023 年 2 月 14 日):
提供了更好的安装部署、升级体验,包括对 Helm 安装的优化以及金丝雀升级和修订标签被推广到 Beta 版本;同时新增了双栈模式下的支持等。

1.18 版本(2023 年 6 月 7 日):
不仅提供了多项优化,极大地提升了对于 K8S Gateway API 使用的体验,还推出了一种全新的数据面模式 – Ambient 模式,从此网格的部署不需要侵入应用程序,为用户提供了更多的灵活性。

3.2 贡献者数据

DaoCloud 从 2019 年开始参与 Istio 社区,期间参与了多个领域的贡献。目前负责 User Experience(用户体验)、Environment(安装部署)、Docs(官方文档)、Release(版本发布)等多个方向的维护工作。DaoCloud 目前有超过 30 位 Istio 社区成员,同时 DaoCloud 还是 Istio 指导委员会成员,为推动 Istio 的发展和推广发挥着重要作用。

DaoCloud 致力于促进 Istio 与中国的开发者社区和企业的互动,举办或参与了一系列的线上线下活动,帮助本地开发者和企业更好地理解和采用 Istio。DaoCloud 也开源了像 Merbridge 这样的 CNCF Sandbox 项目,帮助优化服务网格的网络性能,进一步促进服务网格的推广和落地。

过去 2 年,Istio 所有仓库共合并了 9572 个 PR,共有 718 家企业为其做了贡献,其中 DaoCloud 提交并合并的 PR 排名第 2

过去一年在 Istio 所有仓库中的个人贡献度排名,其中不乏 DaoCloud 的身影:

3.3 相关企业

Istio 生态体系汇集了以 Google、IBM、Red Hat 等为首的国际互联网企业,许多企业还专门提交了使用场景案例供更多企业研究学习。

04

Istio 使用案例

凭借 Istio 的卓越架构和功能特性,众多客户对其给予了高度认可,并积极采纳 Istio,以期为自身业务提升效能。

作为国内领先的云原生服务供应商,DaoCloud 的服务网格产品为众多不同行业(包括银行、保险、证券、制造等)的客户提供了优质服务。每个客户都有自身独特的应用场景,并且对下述的几个场景表现出特别的关注和兴趣。

4.1 多云网格

随着云计算的快速发展,企业和组织越来越倾向于采用多云策略,以确保更高的灵活度,并防止潜在的供应商依赖问题。在这一趋势背景下,Istio 所提供的多云服务网格功能,具有很大价值。

1. 跨云统一管理和控制:Istio 可以提供统一的服务网格层,跨多个云和本地环境进行管理。这为企业提供了一个统一的控制平面,实现跨多个环境的服务发现、流量管理和策略执行。

2. 增强的可观测性和故障排查:在多云环境下,服务的复杂性和分散性会增加,可以借助可观测性工具,对跨多个环境的服务行为和性能进行深度洞察,以便快速发现和排查问题。

3. 统一的安全策略:Istio 的安全特性,如 mTLS(双向 TLS)和授权策略,可以在整个服务网格中实施,无论服务在何处运行,都可以保持一致的安全控制。

4. 统一流量策略:Istio 可以控制服务之间的流量,包括可以非常容易地实现本地优先调用、流量故障转移和分发等能力。可以适配复杂多样企业应用要求,如双活、容灾等场景。

5. 跨集群网络连通:在 Istio 的设计中,可以轻松地实现不同集群网络之间的互联,不需要考虑基础环境老旧的问题,可以轻松应对混合云的场景。

在 Istio 的帮助下,企业可以更加容易地管理和控制跨多个云环境的服务,无论是公有云、私有云还是混合云环境,都可以为企业的业务提供稳定和高效的服务。

4.2 灰度发布

Istio 是灰度发布的理想工具,它的流量管理功能使得企业可以更安全、更有效地进行软件发布和更新。以下是 Istio 在灰度发布中的应用情况。

在传统的发布模型中,新的软件版本会立即推送给所有用户。虽然这种方式可以快速发布新功能,但如果新版本中有严重的问题,可能会影响到所有的用户,造成很大的影响。为了避免这种情况,许多公司选择使用灰度发布。

灰度发布是一种软件发布模型,在这种模型中,新的软件版本不会立即推送给所有用户,而是首先推送给一小部分用户。这样,如果新版本中存在问题,就只会影响到这一小部分用户。一旦确认新版本没有问题,再逐步将其推送给所有用户。

Istio 的服务网格可以轻松实现这种灰度发布模型。使用 Istio 的虚拟服务和目标规则,可以将特定的流量路由到新的服务版本。例如,可以将只有 10% 的流量路由到新版本,其他 90% 的流量还使用老版本。这样就可以在一小部分用户中测试新版本的功能和性能。

此外,Istio 的灰度发布还可以通过请求头或者 Cookie 路由来实现更为复杂的条件。例如,只有来自特定用户的流量,或者带有特定 cookie 的流量,才会被路由到新版本。

通过这种方式,企业可以更安全、更有效地进行软件发布和更新,而不用担心新版本的问题会影响到所有用户。同时,还可以收集到新版本在实际使用中的性能数据,为最终的全面发布提供参考。

总的来说,Istio 的灰度发布能力提供了一种强大而灵活的工具,帮助企业更好地管理他们的应用发布流程。

4.3 传统应用统一治理(传统微服务迁移)

中国的企业大多数经历了传统微服务(即如基于 Spring Cloud 或者 Dubbo 框架开发的应用)的过程,面对现如今云原生化的推进,这些企业迫切需要做应用架构转型。

面临两种有截然不同的应用架构体系,再加上已有的业务规模,企业往往难以迅速完成应用改造,以实现全面的云原生化。因此,客户往往需要系统平台具备足够的包容性和兼容性,以满足这类需求场景。

得益于 Istio 的包容性和生态的建设,它已经成为了应对这种转型挑战的理想工具。

1. 渐进式的云原生迁移:Istio 的设计使得企业能够渐进式地、无缝地将应用迁移到云原生架构。利用 Istio 的流量管理能力,企业可以逐渐将流量从旧系统迁移到新的云原生服务,从而使得应用迁移过程更为平滑,降低改变带来的风险。

2. 统一的服务治理能力:对于传统的基于 Spring Cloud 或者 Dubbo 框架的微服务,我们可以通过一些方案,在完全不修改代码的情况做到兼容,使 Istio 可以提供统一治理。从而可以释放几乎所有能力,包括流量管理、故障恢复、安全策略、监控和跟踪等都可以在 Istio 的框架下统一进行,降低了运维的复杂性,同时也保障了服务的稳定性和安全性。

3. 对遗留系统的支持:对于一些无法直接迁移到云原生架构的遗留系统,Istio 可以通过其能力与这些系统进行交互,例如,Istio 的 Egress gateway 可以将流量导向这些外部的、非网格的服务。通过对虚拟机的支持,将无法迁移到 Kubernetes 的应用同样接入管理。

4. 强大的生态支持:Istio 作为 CNCF 的项目,有着强大的社区支持和生态建设。无论是应用开发者还是服务提供商,都可以利用 Istio 的能力,加快云原生的推进和应用。此外,Istio 的生态还包括了许多优秀的开源项目,可以帮助企业更好地实现传统微服务统一治理。

05

毕业的意义

Istio 作为一个 CNCF 孵化项目,实现 “毕业” 的意义体现在以下几个方面:

1. 成熟度和可持续性:CNCF 致力于推进云原生计算技术的创新和发展。当一个项目达到一定的成熟度时,它可以被认为是 “毕业” 了。这意味着该项目已经稳定、可靠,并具备足够的社区支持和贡献者来持续发展。

2. 社区治理和透明度:CNCF 强调项目的开放性和透明度。一个”毕业”的项目需要有健全的社区治理模型,确保项目的决策过程是公开、透明和包容的。

3. 生态系统和影响力:CNCF 项目的目标之一是建立强大的云原生技术生态系统。”毕业” 的项目通常会对该生态系统产生积极的影响,并吸引更多的用户和贡献者参与其中。

4. 标准化和互操作性:通过 “毕业”,一个项目可以提供更高水平的标准化和互操作性。这有助于不同项目之间的集成和协作,实现更好的云原生应用程序交付和管理。

06

未来展望

随着 Istio 从 CNCF 毕业,期待 Istio 能在云原生技术领域发挥更大的作用。据 Istio 官方表示,未来会进一步加强以下几个方面:

1. 更加完善的服务网格功能:Istio 作为服务网格的领导者,将继续扩充其功能,提供更加强大的服务治理能力。这包括更智能的流量管理,更全面的安全保障,更深度的可观察性,等等。

2. 优化性能和稳定性:Istio 将进一步优化其性能和稳定性,提供更低延迟、更高吞吐的服务通信能力。Istio 也将优化其自身的稳定性,确保作为服务网格的核心组件,能在各种条件下稳定运行。此外,对 Ambient 模式的支持也会持续投入。

3. 扩大社区和生态:Istio 会通过与更多的开源项目和组织合作,扩大其社区和生态。通过这种方式,Istio 可以提供更丰富的功能,满足各种不同的需求。

4. 提高易用性:为了让更多的企业和组织能够利用 Istio,我们期待 Istio 会进一步提高其易用性。这包括简化安装和配置过程,提供更多的样例和教程,以及更好的文档等。

总的来说,随着 Istio 从 CNCF 毕业,它将迎来更多的发展机会和挑战。Istio 将会利用这个机会,进一步发展和完善,为云原生技术领域带来更大的贡献。

07

结语

Istio 的顺利毕业,离不开所有参与 Istio 项目的开发者和社区成员,是他们的努力使 Istio 能够成长为一个强大、灵活、成熟的服务网格解决方案,帮助众多企业成功地实现了云原生化的转型。另外,这也得益于 CNCF 为 Istio 提供了一个开放、公平的环境,使得来自全球的开发者都能参与到 Istio 的开发和维护中,推动了 Istio 的快速发展。

非常期待 Istio 在未来的发展,相信 Istio 会在云原生技术领域发挥更大的作用。DaoCloud 作为 Istio 社区的活跃成员,承诺会继续为 Istio 的发展做出贡献,期待与社区内的其他成员一起,推动 Istio 创造更多的可能,提供更多的价值。

祝贺 Istio 从 CNCF 毕业,期待 Istio 充满光明的未来!

DaoCloud 公司简介:「DaoCloud 道客」云原生领域的创新领导者,成立于 2014 年底,拥有自主知识产权的核心技术,致力于打造开放的云原生操作系统为企业数字化转型赋能。产品能力覆盖云原生应用的开发、交付、运维全生命周期,并提供公有云、私有云和混合云等多种交付方式。成立迄今,公司已在金融科技、先进制造、智能汽车、零售网点、城市大脑等多个领域深耕,标杆客户包括交通银行、浦发银行、上汽集团、东风汽车、海尔集团、屈臣氏、金拱门(麦当劳)等。目前,公司已完成了 D 轮超亿元融资,被誉为科技领域准独角兽企业。公司在北京、武汉、深圳、成都设立多家分公司及合资公司,总员工人数超过 400 人,是上海市高新技术企业、上海市“科技小巨人”企业和上海市“专精特新”企业,并入选了科创板培育企业名单。

未经允许不得转载:DaoCloud道客博客 » 重磅:CNCF 宣布 Istio 项目正式毕业

申请试用