功能状态

本页面列出了每个 Istio 特性的相对成熟度和支持级别。请注意阶段适用于项目中的个别特性,而不是整个项目的特性。这是对这些内容的高级描述标签。

功能定义阶段

ExperimentalAlphaBetaStable
目的功能正在积极开发中,面向用户的 API 可能会发生变化。用户应极其谨慎地部署实验性功能,最好是在非生产环境中,因为实验版本可能需要迁移工作。用于获取有关设计或功能的反馈或查看试探性设计的执行情况等。针对开发人员和专家用户。用于审查生产中的解决方案,但没有长期承诺,以评估其可行性、性能、可用​​性等。针对所有用户。可靠生产。
稳定性可能是错误。使用该功能可能会暴露错误。默认不活动。可能是错误。使用该功能可能会暴露错误。默认不活动代码经过良好测试。该功能对于生产使用是安全的。代码经过良好测试且稳定。在生产中广泛部署是安全的。
安全性使用该功能可能存在明显的安全漏洞。发现的漏洞可能不会广泛传播。使用该功能可能存在明显的安全漏洞。发现的漏洞可能不会广泛传播。任何发现的安全漏洞都将公开披露和修补。任何发现的安全漏洞都将公开披露和修补。
性能性能特征未知。启用实验功能可能会对性能产生不利影响。性能要求作为设计的一部分进行评估。性能和可扩展性是有特点的,但可能有警告。性能(延迟/规模)被量化和记录,并保证不会回归。
支持不保证向后兼容性。该功能可能随时被删除,恕不另行通知。不保证向后兼容性。该功能可能随时被删除,恕不另行通知。整体功能不会被删除,但细节可能会发生变化。该功能将出现在许多后续版本的已发布软件中。
弃用政策无,功能可以随时删除。无,功能可以随时删除。弱,可以提前 3 个月通知删除功能。强大的功能可以在提前 1 年通知的情况下删除,但通常会有一个支持的升级路径来替换功能。
可用性该功能可能在主 Istio 存储库中可用,也可能不可用。该功能可能会也可能不会出现在 Istio 版本中。如果它确实出现在 Istio 版本中,它将默认被禁用。除了使用该功能所需的任何配置外,该功能还需要一个显式标志来启用,以便打开开发功能。该功能已提交给 Istio 存储库。该功能出现在 Istio 的官方版本中。该功能需要明确的用户操作才能使用,例如标志翻转、配置资源的使用、显式安装操作或调用的 API。当某个功能被禁用时,它不得影响系统稳定性。在官方 Istio 版本中默认启用。与测试版相同。
观众其他开发人员在功能或概念验证方面密切合作。该功能面向有兴趣提供早期反馈的开发人员和专家用户。有兴趣提供有关功能的反馈的用户。所有用户。
完整性功能的功能有限。此功能可用作概念证明。某些 API 操作或 CLI 命令可能未实现 该功能不需要进行 API 审查(在正常代码审查之上对 API 进行密集和有针对性的审查)。应实施所有 API 操作和 CLI 命令 端到端测试完整且可靠 该 API 已经过全面的 API 审查并被认为是完整的,尽管在 beta 期间使用经常会出现审查期间未考虑的 API 问题。与测试版相同。
文档实验性功能在自动生成的参考文档中被标记为实验性或不公开。Alpha 功能在自动生成的参考文档中标记为 alpha。描述该功能的作用、如何启用它、限制和警告的基本文档,以及指向该功能所基于的问题或设计文档的指针。发布到 Istio.io 的完整功能文档 除了基本的 alpha 级文档,beta 文档还包括示例、教程、术语表条目等。与测试版相同。
可升级性实验性功能的架构和语义可能会在较新版本中发生变化,但无法保证在升级期间需要更改配置的向后兼容性。 API 版本的增加速度可能比发布节奏快,开发人员无需维护多个版本以实现向后兼容性。当架构或语义以不兼容的方式更改时,鼓励开发人员增加 API 版本。alpha 功能的架构和语义可能会在以后的软件版本中发生变化,在现有的 Istio 安装中没有任何保留配置对象的规定 API 版本的增长速度可能比发布节奏快,开发人员不需要维护多个版本 开发人员应该增加 API模式或语义以不兼容的方式更改时的版本。架构和语义可能会在以后的软件版本中更改 如果发生这种情况,将记录升级路径 在某些情况下,对象将自动转换为新版本 在其他情况下,可能需要手动升级 手动升级可能需要停机对于依赖新功能的任何事物,并且可能需要将对象手动转换为新版本 当需要手动转换时,项目将提供有关该过程的文档。在随后的软件版本中只允许严格兼容的更改。
测试该功能的存在不得影响任何已发布的功能。该功能由单元测试和集成测试覆盖,其中启用了该功能并且测试是非脆弱的。测试可能无法涵盖所有​​极端情况,但已经涵盖了最常见的情况。测试代码覆盖率 >= 70%。当该功能被禁用时,它不会降低系统的性能。集成测试涵盖边缘情况以及常见用例。集成测试涵盖了该功能上报告的所有问题。该功能具有涵盖该功能示例/教程的端到端测试。测试代码覆盖率 >= 80%。Beta 的超集,包括对 Beta 期间发现的任何问题的测试。测试代码覆盖率 >= 90%。
可靠性用户不应期望可靠的功能可能未经测试。由于该功能相对较新,并且可能缺乏完整的端到端测试,因此通过标志启用该功能可能会暴露导致 Istio 不稳定的错误(例如,控制循环中的错误可能会迅速创建过多的对象,耗尽 API 存储空间) .由于该功能具有 e2e 测试,因此启用该功能不应在不相关的功能中产生新的错误。由于该功能相对较新,因此可能存在小错误。高的。该功能经过充分测试,适用于所有用途,稳定可靠。
支持Istio 社区没有承诺改进、维护或完成该功能,并且该功能可能会在新版本中完全删除。Istio 没有承诺完成该功能 该功能可能会在以后的软件版本中完全删除。Istio 承诺在后续稳定版本中以某种形式完成该功能通常这会在 3 个月内发生,但有时更长的版本应该同时支持两个连续版本(例如 v1alpha1 和 v1beta1;或 v1beta1 和 v1),至少支持一个发布周期(一般为3个月),让用户有足够的时间升级和迁移资源。该功能将继续存在于许多后续版本中。
推荐用例在短期开发或测试环境中,旨在征求用户的早期反馈以制定开发工作。在短期开发或测试环境中,由于可升级性的复杂性和缺乏长期支持。在开发或测试环境中。在生产环境中作为功能评估的一部分以提供反馈。任何。

Istio 特性

以下是我们现有功能及其当前阶段的列表。此信息将在每次发布后更新。 实验性功能特意未在此页面上列出。

运输管理

FeaturePhase
Protocols:HTTP1.1/HTTP2/gRPC/TCPStable
Protocols:Websockets/MongoDBStable
Traffic Control: label/content based routing, traffic shiftingStable
Resilience features: timeouts, retries, connection pools, outlier detectionStable
Gateway: Ingress, Egress for all protocolsStable
Gateway InjectionBeta
TLS termination and SNI Support in GatewaysStable
SNI (multiple certs) at ingressStable
Locality load balancingBeta
Enabling custom filters in EnvoyAlpha
Sidecar APIBeta
DNS ProxyingBeta
Kubernetes Gateway APIsBeta
Gateway Network Topology ConfigurationAlpha
Kubernetes Multi-Cluster Service (MCS) DiscoveryExperimental

可观察性

FeaturePhase
Prometheus IntegrationStable
Service Dashboard in GrafanaStable
Distributed TracingStable
Stackdriver IntegrationStable
Distributed Tracing to Zipkin/JaegerBeta
Trace SamplingBeta
Request ClassificationBeta
Configurable Telemetry ProductionExperimental

可扩展性

FeaturePhase
WebAssembly ExtensionAlpha

安全和政策执行

FeaturePhase
Service-to-service Mutual TLSStable
Kubernetes: Service Credential DistributionStable
Certificate management on Ingress GatewayStable
Pluggable Key/Cert Support for istio CAStable
AuthorizationStable
End User (JWT) AuthenticationStable
Peer AuthenticationBeta
Automatic mutual TLSBeta
VM: Service Credential DistributionBeta
External AuthorizationBeta
Authorization Dry RunAlpha
JWT Claim Based RoutingAlpha
Copy JWT Claims to HTTP HeadersExperimental

核心

FeaturePhase
In-Cluster OperatorBeta
Kubernetes: Envoy Installation and Traffic InterceptionStable
Kubernetes: Istio Control Plane InstallationStable
Multicluster MeshBeta
External Control PlaneBeta
Kubernetes: Istio In-Place Control Plane UpgradeBeta
Basic Configuration Resource ValidationBeta
Istio CNI PluginBeta
IPv6 Support for KubernetesAlpha
Distroless Base Images for IstioAlpha
Virtual Machine IntegrationBeta
Helm Based InstallationBeta
Revision Based UpgradeBeta
Revision TagsBeta

如果您希望在我们的未来版本中看到某些功能,请通过加入我们的社区与我们联系!