功能的生命周期

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

功能的版本管理

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

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

功能状态

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

核心功能

功能 状态
osm-edge CLI Stable
使用 osm-edge CLI 和 Helm 安装控制平面 Stable
使用 osm-edge CLI 和 Helm 卸载控制平面 Stable
Sidecar 自动注入 Stable
配置校验的 webhook Stable
使用 osm-edge 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
Pipy 流量指标 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 或之后的版本被移除。废弃的配置会在发布日志中记录。