You need to enable JavaScript to run this app.
导航

Kubernetes 镜像升级

最近更新时间2022.09.19 10:58:24

首次发布时间2022.04.15 23:52:54

持续交付提供 Kubernetes 镜像升级 任务,支持用户对集群中的已有应用进行镜像升级。

背景信息

Kubernetes 镜像升级 任务的升级策略取决于您为待部署的 Deployment 设置的更新策略。例如:对火山引擎的容器服务集群下的 Deployment 进行镜像升级,该 Deployment 共有 8 个实例,在容器服务侧设置的 Deployment 更新策略为滚动更新,最大不可用 25%,最大超量 25%。则镜像升级时,将采用滚动更新方式,并保证升级过程中,不能提供服务的实例数量不超过 2,最多可以有 10 个新旧实例同时存在。

前提条件

  • 已接入待部署的集群,具体操作请参见 接入部署资源
  • 若使用自定义镜像,请提前准备好待部署的目标镜像地址。
  • 若目标镜像为私有镜像,请注意在部署集群提前设置密钥或配置免密组件。在容器服务配置可参考 配置保密字典配置免密组件

使用限制

  • 当目标应用处于部署中时,不支持重复部署。例如:A 流水线部署 deployment-a 应用的过程中,B 流水线发起的部署 deployment-a 应用任务会自动失败。
  • 目标镜像地址不允许与原镜像地址完全相同,请至少修改目标镜像的版本号。镜像地址用于区分不同的镜像,若目标镜像地址与原镜像地址完全相同,应用的镜像将不会被更新。

添加任务

创建或编辑流水线时,在 流程配置 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 Kubernetes 镜像升级

参数说明

请按要求配置 Kubernetes 镜像升级任务。
alt

配置项说明
步骤名称默认为 Kubernetes 镜像升级,支持自定义步骤名称。
部署资源选择已接入的待部署集群。
命名空间选择或输入待部署工作负载所在的命名空间。

应用类型

确定待部署的工作负载类型及名称。

  • 选择工作负载类型。工作负载类型支持 Deployment、StatefulSet、DaemonSet、CronJob。
  • 选择或输入工作负载名称。若自行输入,需与您创建工作负载时的名称一致。
容器名称选择或输入待部署的具体 Container 名称,确保 Pod 中存在多个 Container 时应该升级对应的镜像。

镜像

设置要部署的目标镜像地址。支持使用上游产物生成的镜像或您提前准备好的镜像,请按需选择。

  • 上游产物:选择前序镜像打包任务的产出物作为目标镜像。
  • 自定义:输入提前准备好的镜像地址作为目标镜像。镜像地址示例:cr-cn-beijing.volces.com/cp-automator/cp:v1
超时时间设置自动超时时间。任务运行时长超过该时间,则判断部署失败,系统自动触发回滚操作,回滚到升级前版本。
默认为 300 s,可选范围:1 ~ 7200 s。

发布过程

  • 镜像升级过程中,页面显示回滚按钮,支持随时回滚到升级前的版本。
  • 若镜像升级任务运行失败,系统将自动触发回滚,回滚到升级前版本。

日志、产物与部署详情

在当前流水线的 最近运行详情 > 运行流程 标签页,单击 Kubernetes 镜像升级任务卡片的标题,查看运行日志、产物、部署详情及任务配置信息。
alt

  • 运行日志:实时展示该任务的运行日志。
  • 部署详情:实时展示新旧版本的实例列表信息,包括实例名称、运行状态、启动时间。所有新版本实例均处于 Running 状态表示升级成功。
  • 配置:展示该任务的配置参数,详情可参考前文的参数说明。
  • 产物:展示该任务使用的目标镜像地址。