- 文档首页
容器服务
弹性容器实例 VCI
用户指南
容器配置
VCI Pod 原地重启
VCI Pod 原地重启
弹性容器实例(VCI)基于 OpenKruise 的原地升级功能,支持 VCI Pod 原地重启能力。本文介绍如何使用 Openkruise 对 VCI Pod 进行原地升级。
背景信息
OpenKruise 是基于 Kubernetes 的一个扩展套件,主要聚焦于云原生应用的自动化,例如部署、发布、运维以及可用性防护。通过在 VKE 中部署 OpenKruise,可以实现对工作负载中的 Pod 进行原地升级。详细说明,请参见 OpenKruise 原地升级。 使用说明
- 目前支持原地升级容器的镜像和部分metadata(如annotation、label)的功能。
说明
【邀测·申请试用】:其中,更新metadata并原地重启 VCI Pod 的能力处于邀测阶段,如需使用,请提交申请。 前提条件
- 已通过 kubectl 连接集群。详细操作,请参见 连接集群。
操作步骤
场景一:更新容器的镜像
- 在 VCI 业务集群中,安装 OpenKruise(VKE 应用模板名称为 Kruise)。详细操作,请参见 应用模板。
-
- 通过 kubectl 创建一个 OpenKruise 的 Workload,并指定部署到 VCI。示例 YAML 文件vci-openkruise.yaml代码如下:
- 执行如下命令,创建 OpenKruise 的 Workload(本示例中为 CloneSet)。
- 成功创建 Workload 后,查看并记录 Pod 的名称和 VCI 实例 ID。
- 执行以下命令获取 CloneSet 下 Pod 的名称。
- 从返回信息的NAME字段下获取 Pod 的名称。
- 执行以下命令,查看 Pod 的详情,获取 VCI 实例 ID。
- 从返回信息的 Annotation:vci.vke.volcengine.com/instance-id 中获取 VCI 实例 ID。
- 修改 Workload 的 YAML,验证 Pod 原地重启能力。将image字段更新为其他版本的容器镜像。示例 YAML 内容如下:
- 查看 Workload(本示例中为 CloneSet)更新状态,等待 Pod 重启完成。
- 参考步骤 4 中的命令,再次查看并记录 Workload 中 Pod 的名称、VCI 实例 ID。
- Pod 将会重新拉取镜像,但 Pod 的名称和 VCI 实例 ID 不会发生变化。
场景二:更新容器的 metadata
说明
【邀测·申请试用】:该部分功能目前处于邀测阶段,如需使用,请提交申请。 - 在 VCI 业务集群中,安装 OpenKruise(VKE 应用模板名称为 Kruise)。详细操作,请参见 应用模板。
-
- 通过 kubectl 创建一个 OpenKruise 的 Workload,并指定部署到 VCI。示例 YAML 文件vci-openkruise-demo.yaml代码如下:
- 执行如下命令,创建 OpenKruise 的 Workload(本示例中为 CloneSet)。
- 成功创建 Workload 后,查看并记录 Pod 的名称和 VCI 实例 ID。
- 执行以下命令获取 CloneSet 下 Pod 的名称。
- 从返回信息的NAME字段下获取 Pod 的名称。
- 执行以下命令,查看 Pod 的详情,获取 VCI 实例 ID。
- 从返回信息的 Annotation:vci.vke.volcengine.com/instance-id 中获取 VCI 实例 ID。
- 修改 Workload 的 YAML,验证 Pod 原地重启能力。按如下示例更新容器metadata下的annotation和label。
- 查看 Workload(本示例中为 CloneSet)更新状态,等待 Pod 重启完成。
- 容器的 Label Value 已发生变更,但 Pod 的名称和 VCI 实例 ID 不会发生变化。
最近更新时间:2026.08.19 11:25:21