更新 Alauda Service Mesh

您用于部署 service mesh 的策略会影响您更新 mesh 的方式。

理解版本控制

Alauda Service Mesh 遵循所有产品 release 的 Semantic Versioning。Semantic Versioning 使用三段式版本号,格式为 X.Y.Z,用于说明每个 release 中变更的性质。

  • X(主版本):表示重大更新,可能包含破坏性变更,例如架构调整、API 变更或 schema 修改。
  • Y(次版本):在保持向后兼容的同时,引入新功能和增强。
  • Z(补丁版本或 z-stream release):提供关键 bug 修复和安全更新,例如 Common Vulnerabilities and Exposures (CVEs) 修复。补丁版本不包含新功能。

理解 Service Mesh 和 Istio 版本

Alauda Service Mesh Operator 包含用于升级的额外 Istio release,但对于每个 Operator 版本,仅支持当前可用的最新 Istio 版本。请参阅“Release Notes”以识别每个 Operator release 支持的 Istio 版本。

升级路径

下表包含 sidecar 模式下 mesh 的完整升级路径。升级时,您需要按顺序升级 Operator 版本,并在进入下一步之前,将 Istio 控制平面更新到每一步对应的 Istio 版本。

No.Alauda Service MeshIstio
12.0.z1.26.z
22.1.z1.28.z

每个 Operator 版本也会打包前一步的 Istio 版本,因此控制平面无需跨步跳跃:在升级 Operator 之后,mesh 会继续运行其原先所在的 Istio 版本,然后您再将 Istio 资源更新为新步骤对应的 Istio 版本。

INFO

在上述版本号中,.z 表示该次版本可用的最新补丁版本。 执行升级时,您应始终使用最新的补丁版本,以确保获得最新的安全更新和 bug 修复。 每个 release 的最新补丁版本可在 Release Notes 中找到。

理解 Operator 更新和 channel

Operator Lifecycle Manager (OLM) 使用 channel 来组织和分发更新,从而管理 Operator 及其关联服务。channel 是对相关更新进行分组的一种方式。

为确保您的 Alauda Service Mesh 始终保持最新的安全补丁、bug 修复和软件更新,请保持 Alauda Service Mesh Operator 处于最新状态。升级过程取决于所配置的 channel 和审批策略。

OLM 为 Alauda Service Mesh Operator 提供以下 channel:

  • Stable channel:跟踪最新的 Alauda Service Mesh v2 Operator 版本以及最新受支持的 Istio 版本。该 channel 可在新 operator 版本及对应 Istio 更新发布后立即启用升级。使用 stable channel 可保持最新功能、bug 修复和安全更新。
  • Versioned channel:将更新限制为特定次版本内的补丁级 release。例如,stable-2.0 提供对最新 2.0.14 补丁版本的访问。当有新的补丁 release 可用时,您可以将 Operator 升级到较新的补丁版本。要切换到更新的次版本 release,您必须手动切换到其他 channel。您可以使用 versioned channel 在保持次版本一致的同时仅应用补丁更新。

关于 Operator 更新过程

Operator Lifecycle Manager (OLM) 会生成一个更新请求,集群管理员必须批准该请求,才能将 Operator 更新到最新版本。

如果 Istio 资源版本设置为别名(例如 vX.Y-latest)且 updateStrategy 设置为 InPlace,Operator 更新过程不会自动更新 Istio 控制平面。

当 Operator 中出现新版本时,这会触发控制平面更新。默认情况下,除非使用新版本更新 Istio 资源,否则 Operator 不会更新 Istio 控制平面。

关于 Istio 更新过程

在更新 Alauda Service Mesh v2 Operator 之后,请将 Istio 控制平面更新到最新受支持版本。Istio 资源配置决定控制平面升级的执行方式,包括哪些步骤需要手动操作,哪些步骤会自动处理。

Istio 资源配置包含以下与升级过程相关的字段:

  • spec.version

    指定要安装的 Istio 版本。请使用 vX.Y.Z 格式,其中 X.Y.Z 是所需的 Istio release。 例如,将该字段设置为 v1.28.6 以安装 Istio 1.28.6。 或者,也可以将其设置为诸如 vX.Y-latest 的别名,以自动安装指定次版本的最新受支持补丁版本。

  • spec.updateStrategy

    定义用于更新 Istio 控制平面的策略。可用的更新策略为 InPlaceRevisionBased

关于 Istio 控制平面更新策略

更新策略会影响更新过程的执行方式。Istio 资源配置中的 spec.updateStrategy 字段决定 Alauda Service Mesh v2 Operator 如何更新 Istio 控制平面。当 Operator 检测到 spec.version 字段发生变化,或识别到使用已配置的 vX.Y-latest 别名的新次版本时,它会启动升级操作。对于每个 mesh,您可以选择以下两种策略之一:

  • InPlace
  • RevisionBased

InPlace 是更新 Alauda Service Mesh 的默认策略。