功能状态
此页面列出了每个 Istio 功能的相对成熟度和支持级别。请注意,这些阶段适用于项目中的单个功能,而不是整个项目。以下是这些标签含义的概要描述。
功能阶段定义
实验性 | Alpha | Beta | 稳定 | |
---|---|---|---|---|
目的 | 功能正在积极开发中,用户界面 API 可能会更改。用户应极其谨慎地部署实验性功能,最好在非生产环境中部署,因为实验性版本可能需要迁移工作。 | 用于获取有关设计或功能的反馈,或查看暂定设计的效果等。面向开发人员和专家用户。 | 用于在生产环境中验证解决方案,而无需长期承诺,以评估其可行性、性能、可用性等。面向所有用户。 | 可靠,经过生产环境的考验。 |
稳定性 | 可能存在错误。使用此功能可能会暴露错误。默认情况下未启用。 | 可能存在错误。使用此功能可能会暴露错误。默认情况下未启用。 | 代码经过充分测试。此功能可安全用于生产环境。 | 代码经过充分测试且稳定。可安全地广泛部署到生产环境。 |
安全 | 使用此功能可能存在明显的安全漏洞。发现的漏洞可能不会被广泛传播。 | 使用此功能可能存在明显的安全漏洞。发现的漏洞可能不会被广泛传播。 | 任何发现的安全漏洞都将公开披露并修复。 | 任何发现的安全漏洞都将公开披露并修复。 |
性能 | 性能特征未知。启用实验性功能可能会对性能产生不利影响。 | 性能要求在设计阶段进行评估。 | 性能和可扩展性已得到描述,但可能存在一些注意事项。 | 性能(延迟/规模)已量化并记录,并保证不会出现性能下降。 |
支持 | 不保证向后兼容性。Istio 社区没有承诺改进、维护或完成此功能,并且此功能可能随时在以后的软件版本中被完全删除,恕不另行通知。 | 不保证向后兼容性。Istio 没有承诺完成此功能。此功能可能随时在以后的软件版本中被完全删除,恕不另行通知。 | 该功能整体不会被删除,但细节可能会发生变化。Istio 承诺在后续的稳定版本中以某种形式完成此功能。通常会在 3 个月内完成,但有时需要更长时间。发布版本应同时支持两个连续的版本(例如 v1alpha1 和 v1beta1;或 v1beta1 和 v1)至少一个支持的发布周期(通常为 3 个月),以便用户有足够的时间升级和迁移资源。 | 此功能将在许多后续版本中继续存在。 |
弃用策略 | 无,功能随时可能被移除。 | 无,功能随时可能被移除。 | 弱,功能可在提前 3 个月的通知后被移除。 | 强,功能可在提前 1 年的通知后被移除,但通常会有一条支持的升级路径到替换功能。 |
版本控制 | API 版本名称包含 dev(例如 v1dev1)。 | API 版本名称包含 alpha(例如 v1alpha1)。 | API 版本名称包含 beta(例如 v1beta1)。 | API 版本为 vX ,其中 X 为整数(例如 v1)。 |
可用性 | 此功能可能在 Istio 主存储库中可用,也可能不可用。此功能可能出现在 Istio 版本中,也可能不出现。如果它确实出现在 Istio 版本中,则默认情况下将被禁用。除了使用此功能所需的任何配置之外,此功能还需要一个显式标志来启用,以便启用开发功能。 | 此功能已提交到 Istio 存储库。此功能出现在官方 Istio 版本中。此功能需要用户显式操作才能使用,例如切换标志、使用配置资源、显式安装操作或调用 API。当功能被禁用时,它不应影响系统稳定性。 | 在官方 Istio 版本中默认启用。 | 与 Beta 相同。 |
受众 | 密切合作开发功能或概念验证的其他开发人员。 | 此功能针对希望提供早期反馈的开发人员和专家用户。 | 有兴趣提供功能反馈的用户。 | 所有用户。 |
完整性 | 功能具有有限的功能。此功能可以作为概念证明。 | 某些 API 操作或 CLI 命令可能未实现。此功能不必经过 API 审查(在正常代码审查之外,对 API 进行一次密集且有针对性的审查)。 | 所有 API 操作和 CLI 命令都应实现。端到端测试完整且可靠。API 已进行彻底的 API 审查,并且被认为是完整的,尽管在 Beta 期间的使用经常会发现审查时未考虑到的 API 问题。 | 与 Beta 相同。 |
文档 | 实验性功能在自动生成的参考文档中标记为实验性,或者它们未公开。 | Alpha 功能在自动生成的参考文档中标记为 alpha。基本文档描述了功能的作用、如何启用它、限制和注意事项,以及指向此功能所基于的问题或设计文档的指针。 | 完整的特性文档发布到 istio.io。除了基本的 alpha 级文档外,beta 文档还包括示例、教程、术语表条目等。 | 与 Beta 相同。 |
可升级性 | 实验性功能的模式和语义可能会在新版本中发生变化,没有任何保证可以保留向后兼容性,这需要在升级期间更改配置。API 版本可能比发布节奏更快地递增,并且开发人员不需要维护多个版本以实现向后兼容性。鼓励开发人员在模式或语义以不兼容的方式更改时递增 API 版本。 | Alpha 功能的模式和语义可能会在以后的软件版本中发生变化,没有任何规定可以保留现有 Istio 安装中的配置对象。API 版本可能比发布节奏更快地递增,并且开发人员不需要维护多个版本。开发人员应在模式或语义以不兼容的方式更改时递增 API 版本。 | 模式和语义可能会在以后的软件版本中发生变化。发生这种情况时,将记录升级路径。在某些情况下,对象将自动转换为新版本。在其他情况下,可能需要手动升级。手动升级可能需要任何依赖于新功能的组件停机,并且可能需要手动将对象转换为新版本。当需要手动转换时,项目将提供有关该过程的文档。 | 在后续软件版本中仅允许严格兼容的更改。 |
测试 | 此功能的存在不应影响任何已发布的功能。 | 此功能涵盖了单元测试和集成测试,其中启用了该功能并且测试不出现故障。测试可能无法涵盖所有极端情况,但已涵盖最常见的情况。测试代码覆盖率 >= 70%。当禁用此功能时,它不会降低系统的性能。 | 集成测试涵盖边缘情况以及常见用例。集成测试涵盖了报告的关于此功能的所有问题。此功能具有涵盖此功能的示例/教程的端到端测试。测试代码覆盖率 >= 80%。 | Beta 的超集,包括对 Beta 期间发现的任何问题的测试。测试代码覆盖率 >= 90%。 |
可靠性 | 用户不应期望此功能可靠,可能未经测试。 | 由于此功能相对较新,并且可能缺乏完整的端到端测试,因此通过标志启用此功能可能会暴露导致 Istio 不稳定的错误(例如,控制循环中的错误可能会快速创建过多的对象,耗尽 API 存储)。 | 由于此功能具有 e2e 测试,因此启用此功能不应在无关的功能中创建新的错误。由于此功能相对较新,因此它可能存在一些小错误。 | 高。此功能经过充分测试,稳定且可靠,适用于所有用途。 |
推荐用例 | 在短暂的开发或测试环境中,旨在从用户那里征求早期反馈以塑造开发工作。 | 在短暂的开发或测试环境中,由于可升级性的复杂性和缺乏长期支持。 | 在开发或测试环境中。在生产环境中,作为评估功能的一部分,以提供反馈。 | 任何。 |
Istio 功能
以下是我们现有的功能及其当前阶段的列表。此信息将在每次发布后更新。
流量管理
功能 | 阶段 |
---|---|
协议:HTTP1.1/HTTP2/gRPC/TCP | 稳定 |
协议:Websockets/MongoDB | 稳定 |
流量控制:基于标签/内容的路由、流量切换 | 稳定 |
弹性功能:超时、重试、连接池、异常值检测 | 稳定 |
网关:所有协议的入口、出口 | 稳定 |
网关注入 | Beta |
网关中的 TLS 终止和 SNI 支持 | 稳定 |
入口处的 SNI(多个证书) | 稳定 |
本地负载均衡 | Beta |
在 Envoy 中启用自定义过滤器 | Alpha |
Sidecar API | 稳定 |
DNS 代理 | Beta |
用于入口的 Kubernetes 网关 API(Gateway parentRef ) | 稳定 |
用于网格的 Kubernetes 网关 API(Service parentRef ) | 稳定 |
网关网络拓扑配置 | Alpha |
Kubernetes 多集群服务 (MCS) 发现 | 实验性 |
可观测性
功能 | 阶段 |
---|---|
Prometheus 集成 | 稳定 |
Grafana 中的服务仪表板 | 稳定 |
分布式追踪 | 稳定 |
到 Zipkin/Jaeger 的分布式跟踪 | Beta |
跟踪采样 | Beta |
请求分类 | Beta |
可配置的遥测生产 | 稳定 |
可扩展性
功能 | 阶段 |
---|---|
WebAssembly 扩展 | Alpha |
安全和策略执行
功能 | 阶段 |
---|---|
服务到服务的双向 TLS | 稳定 |
Kubernetes:服务凭据分发 | 稳定 |
入口网关上的证书管理 | 稳定 |
Istio CA 的可插拔密钥/证书支持 | 稳定 |
授权 | 稳定 |
最终用户 (JWT) 身份验证 | 稳定 |
对等身份验证 | 稳定 |
自动双向 TLS | 稳定 |
VM:服务凭据分发 | Beta |
外部授权 | Beta |
授权试运行 | Alpha |
基于 JWT 声明的路由 | Alpha |
将 JWT 声明复制到 HTTP 标头 | 实验性 |
核心
功能 | 阶段 |
---|---|
Kubernetes:Envoy 安装和流量拦截 | 稳定 |
Kubernetes:Istio 控制平面安装 | 稳定 |
多集群网格 | Beta |
外部控制平面 | Beta |
Kubernetes:Istio 就地控制平面升级 | Beta |
基本配置资源验证 | Beta |
Istio CNI 插件 | 稳定 |
Kubernetes 的 IPv6 支持 | Alpha |
双栈 IPv4/IPv6 | Alpha |
无发行版基础镜像 | 稳定 |
虚拟机集成 | Beta |
Helm 安装 | Beta |
基于修订版的升级 | Beta |
修订版标签 | Beta |
Ambient 模式
功能 | 阶段 |
---|---|
ztunnel:核心 | 稳定 |
Waypoints:核心 | 稳定 |
Waypoints:网关 API 稳定通道(HTTPRoute 、GRPCRoute ) | 稳定 |
Waypoints:网关 API 实验通道(TLSRoute 、TCPRoute ) | Alpha |
Waypoints:DestinationRule | 稳定 |
Waypoints:VirtualService | Alpha |
Waypoints:跨命名空间使用 | Beta |
Waypoints:WebAssembly 可扩展性(WasmPlugin ) | Alpha |
AuthorizationPolicy | 稳定 |
对等身份验证 | 稳定 |
请求身份验证 | Beta |
DNS 代理 | Beta |
双栈,IPv6 | Beta |