功能的生命周期
这篇文档描述了 OSM 当中功能的生命周期,它们的版本阶段,和关于它们的可用性、稳定性、可升级性、支持和废弃策略的信息。
功能的版本管理
OSM 中的一个功能是根据其成熟度来进行版本管理的。下面的表格描述了一个功能的版本管理状态,以及该功能版本管理生命周期中每个状态的相关信息。
Alpha | Beta | Stable | |
---|---|---|---|
定义 | 功能是实验性质的,处于积极的开发当中。API 可能会变更,且在版本升级过程中需要进行迁移工作。 | 功能已经准备好提供使用,但是需要在生产环境中进行检验。API 可能会发生改变,且在版本升级过程中需要进行迁移工作。 | 功能已经准备好在生产环境中使用。API 预期在随后的几个版本中得到支持。 |
稳定性 | 使用该功能可能会暴露一些问题。默认是被禁用的。 | 经过良好测试,可以在生产中使用。 | 经过良好测试,可在生产环境中稳定使用。 |
支持 | 可能不会向后兼容。行为可能会改变,功能可能在任何时候被废弃。 | 可能不会向后兼容。行为可能会改变,功能预计在后续的版本中得到支持。 | 行为预计不会改变,并被认为在后续几个版本中都是可用的。 |
废弃策略 | 无。可能在任何时候被废弃。 | 功能至少会被支持两个小版本,只有在提前通知的情况下才会被废弃。 | 功能在后续几个版本中都会被支持,只有在提前通知的情况下才会被废弃,并提供替代选项的升级路径。 |
文档 | 文档可能存在,也可能不存在。 | 文档在 docs.openservicemesh.io 上存在,包含如何使用该功能的信息。 | 文档在 docs.openservicemesh.io 上存在,有详尽的指南和示例演示。 |
功能状态
下面的章节列出了 OSM 支持的功能以及它们的版本状态。
核心功能
功能 | 状态 |
---|---|
OSM CLI | Stable |
使用 OSM CLI 和 Helm 安装控制平面 | Stable |
使用 OSM CLI 和 Helm 卸载控制平面 | Stable |
Sidecar 自动注入 | Stable |
配置校验的 webhook | Stable |
使用 OSM CLI 和 Helm 升级控制平面 | Beta |
多集群 | Alpha |
流量管理
功能 | 状态 |
---|---|
使用 SMI 进行流量访问控制 | Stable |
使用 SMI 切换流量 | Stable |
使用 SMI 进行 HTTP 路由 | Stable |
使用 SMI 进行 TCP 路由 | Stable |
宽松流量策略 | Stable |
协议支持:HTTP1.1、HTTP2、TCP、gRPC | Stable |
出口策略 | Stable |
入口策略 | Stable |
入口网关(Contour) | Beta |
熔断 | Alpha |
安全和证书管理
功能 | 状态 |
---|---|
自动双向 TLS 认证 | Stable |
使用 SMI 访问控制进行授权 | Stable |
证书供应商 - Tresor(原生实现) | Stable |
入栈双向 TLS 认证 | Stable |
证书供应商 - cert-manager | Beta |
证书供应商 - Hashicorp Vault | Beta |
可观测性
功能 | 状态 |
---|---|
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
关键字出现在它的描述中:
# -- DEPRECATED
# foo configuration
foo: bar
helm show values
命令可以用来查看 Helm charts 的配置。
在一个版本中,被标记成 DEPRECATED
的配置最早将会在下一个小版本中被移除。这意味着,一个在 vX.Y.Z
版本中废弃的配置项,将会在 vX.Y+1.Z
或之后的版本被移除。废弃的配置会在发布日志中记录。