更新 Alauda Service Mesh

您用于部署服务网格的策略会影响您如何更新该网格。

目录

版本控制概述

Alauda Service Mesh 对所有产品发布均遵循语义化版本控制(Semantic Versioning)。语义化版本控制使用三部分版本号,格式为 X.Y.Z,用以传达每次发布中变更的性质。

  • X(主版本):表示重大更新,可能包含破坏性变更,例如架构调整、API 变更或模式修改。
  • Y(次版本):引入新功能和增强,同时保持向后兼容。
  • Z(补丁版本或 z-stream 版本):提供关键的错误修复和安全更新,如常见漏洞和暴露(CVE)修复。补丁版本不包含新功能。

理解 Service Mesh 和 Istio 版本

Alauda Service Mesh Operator 包含额外的 Istio 版本以支持升级,但每个 Operator 版本仅支持最新的 Istio 版本。

理解 Operator 更新和渠道

Operator Lifecycle Manager (OLM) 通过使用渠道(channels)来组织和分发更新,从而管理 Operators 及其相关服务。渠道是一种将相关更新分组的方式。

为了确保您的 Alauda Service Mesh 保持最新,及时获得最新的安全补丁、错误修复和软件更新,请保持 Alauda Service Mesh Operator 的更新。升级过程取决于配置的渠道和审批策略。

OLM 为 Alauda Service Mesh Operator 提供以下渠道:

  • Stable 渠道:跟踪 Alauda Service Mesh v2 Operator 的最新版本及其支持的最新 Istio 版本。该渠道允许在新版本发布后立即升级 Operator 及相应的 Istio 版本。使用 stable 渠道可以保持最新的功能、错误修复和安全更新。
  • Versioned 渠道:限制更新仅限于特定次版本内的补丁级别发布。例如,stable-2.0 提供访问最新的 2.0.8 补丁版本。当有新的补丁版本发布时,您可以升级 Operator 至该补丁版本。若要升级到新的次版本,必须手动切换到其他渠道。使用版本化渠道可以在保持次版本一致的同时,仅应用补丁更新。

关于 Operator 更新流程

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

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

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

关于 Istio 更新流程

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

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

  • spec.version

    指定要安装的 Istio 版本。格式为 vX.Y.Z,其中 X.Y.Z 是目标 Istio 版本。 例如,将该字段设置为 v1.26.3 即安装 Istio 1.26.3。 或者,将值设置为别名,如 vX.Y-latest,以自动安装指定次版本的最新支持补丁版本。

  • spec.updateStrategy

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

关于 Istio 控制平面更新策略

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

  • InPlace
  • RevisionBased

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