功能的生命周期

这篇文档描述了 OSM 当中功能的生命周期,它们的版本阶段,和关于它们的可用性、稳定性、可升级性、支持和废弃策略的信息。

功能的版本管理

OSM 中的一个功能是根据其成熟度来进行版本管理的。下面的表格描述了一个功能的版本管理状态,以及该功能版本管理生命周期中每个状态的相关信息。

AlphaBetaStable
定义功能是实验性质的,处于积极的开发当中。API 可能会变更,且在版本升级过程中需要进行迁移工作。功能已经准备好提供使用,但是需要在生产环境中进行检验。API 可能会发生改变,且在版本升级过程中需要进行迁移工作。功能已经准备好在生产环境中使用。API 预期在随后的几个版本中得到支持。
稳定性使用该功能可能会暴露一些问题。默认是被禁用的。经过良好测试,可以在生产中使用。经过良好测试,可在生产环境中稳定使用。
支持可能不会向后兼容。行为可能会改变,功能可能在任何时候被废弃。可能不会向后兼容。行为可能会改变,功能预计在后续的版本中得到支持。行为预计不会改变,并被认为在后续几个版本中都是可用的。
废弃策略无。可能在任何时候被废弃。功能至少会被支持两个小版本,只有在提前通知的情况下才会被废弃。功能在后续几个版本中都会被支持,只有在提前通知的情况下才会被废弃,并提供替代选项的升级路径。
文档文档可能存在,也可能不存在。文档在 docs.openservicemesh.io 上存在,包含如何使用该功能的信息。文档在 docs.openservicemesh.io 上存在,有详尽的指南和示例演示。

功能状态

下面的章节列出了 OSM 支持的功能以及它们的版本状态。

核心功能

功能状态
OSM CLIStable
使用 OSM CLI 和 Helm 安装控制平面Stable
使用 OSM CLI 和 Helm 卸载控制平面Stable
Sidecar 自动注入Stable
配置校验的 webhookStable
使用 OSM CLI 和 Helm 升级控制平面Beta
多集群Alpha

流量管理

功能状态
使用 SMI 进行流量访问控制Stable
使用 SMI 切换流量Stable
使用 SMI 进行 HTTP 路由Stable
使用 SMI 进行 TCP 路由Stable
宽松流量策略Stable
协议支持:HTTP1.1、HTTP2、TCP、gRPCStable
出口策略Stable
入口策略Stable
入口网关(Contour)Beta
熔断Alpha

安全和证书管理

功能状态
自动双向 TLS 认证Stable
使用 SMI 访问控制进行授权Stable
证书供应商 - Tresor(原生实现)Stable
入栈双向 TLS 认证Stable
证书供应商 - cert-managerBeta
证书供应商 - Hashicorp VaultBeta

可观测性

功能状态
Prometheus 集成Stable
Grafana 集成Stable
控制平面指标Stable
Envoy 流量指标Stable
使用 Jaeger 做分布式链路追踪Beta

集成

功能状态
使用 Flagger 渐进式交付Alpha
Dapr 集成Alpha

Helm chart 配置的废弃策略

Helm chart 中的配置可能计划在未来的版本中的废弃。在 values 文件中,还有 Helm values 的 JSON schema 相应属性的标题上,将被废弃的配置会在注释前加上 DEPRECATED 关键字。

例如,foo 这个配置将被认为被废弃,因为 values 文件中 DEPRECATED 关键字出现在它的描述中:

  1. # -- DEPRECATED
  2. # foo configuration
  3. foo: bar

helm show values 命令可以用来查看 Helm charts 的配置。

在一个版本中,被标记成 DEPRECATED 的配置最早将会在下一个小版本中被移除。这意味着,一个在 vX.Y.Z 版本中废弃的配置项,将会在 vX.Y+1.Z 或之后的版本被移除。废弃的配置会在发布日志中记录。