请访问 Alauda AI Essentials 以获取安装说明。
该平台为服务网格中的 Istio 提供了金丝雀升级,首先部署新版本的 istiod 组件。一旦所有数据平面升级完成,旧版本的 istiod 组件将被淘汰。
考虑到 Istio 版本与 Kubernetes 版本之间的强依赖关系,确保集群当前的 Kubernetes 版本满足 Istio 升级要求,以成功完成金丝雀升级。
下表显示了当前平台版本支持的 Istio 升级路径及其所需的 Kubernetes 版本。
支持的 Istio 升级路径 | Kubernetes 版本要求 |
---|---|
从 Istio 1.20 升级到 1.22 | Kubernetes 版本 1.27 , 1.28 |
从 Istio 1.18 升级到 1.22 | Kubernetes 版本 1.27 |
注意:
完整的服务网格升级过程包括以下步骤:
服务网格名称
以进入网格详情。集群名称
以在新标签中打开集群详情页面。注意:服务网格的非 Istio 组件包括 asm、Flagger Operator、Asm Operator、Jaeger Operator。
注意:在部署新版本的 istiod 之前,请参考 升级前须知 以确保集群的 Kubernetes 版本满足升级路径要求。
Istio 版本
右侧的 升级 按钮。弹出窗口将显示 Istio 的升级路径。在 平台管理 左侧导航中,点击 服务网格 > EnvoyFilter。
注意:如果平台上存在多个服务网格,您可以通过顶部导航栏切换到集群所在的服务网格。
检查 EnvoyFilter 列表中是否有数据。
集群中的 Istio 数据平面包括 Sidecars、ingress gateways 和 egress gateways。
方法 1:使用交互式命令行工具升级
交互式命令行工具可以批量升级集群中的所有 Sidecars 和网关。此方法适合于熟悉命令行操作的用户,尤其是那些需要快速一次性升级整个集群的用户。
注意:您也可以使用无确认的快速升级参数来执行升级。
注意:ingress 和 egress 网关的滚动升级过程涉及先删除旧 Pods,然后创建新 Pods,直到所有 Pods 更新到数据平面镜像的新版本。因此,如果网关只有一个 Pod,在网关升级期间将无法访问。
方法 2:通过 UI 升级
通过 UI 升级允许按不同名称空间批量升级或指定单个服务/网关进行升级。此方法适合于喜欢在可视界面下操作的用户,尤其是那些需要灵活选择升级目标的用户。
升级 Ingress 和 Egress 网关
升级 Sidecars
服务网格名称
以进入网格详情。名称空间名称
以在新标签中打开 服务网格,并进入 Sidecar 所在的名称空间。
注意:对所有名称空间依次进行 Sidecar 升级。服务名称
旁边出现 注意:该服务的 Sidecar 通过对服务的 Deployment 进行滚动更新来完成 Pod 的数据平面镜像更新。因此,如果服务有长连接,Pods 的滚动更新期间会出现短暂的服务中断。
集群中的旧版本 istiod 只能在所有 Istio 数据平面升级完成后进行淘汰。
注意:
步骤
Istio 版本
右侧的 淘汰旧版本 按钮。将显示 淘汰旧版本 弹出窗口。注意:如果集群中有未升级的数据平面,在点击 淘汰旧版本 后,弹出窗口将显示集群中未升级的 ingress gateways、egress gateways 和 Sidecars,快速追踪需要升级的数据平面。