You need to enable JavaScript to run this app.
导航
Kubernetes 镜像升级
最近更新时间:2024.03.25 16:23:56首次发布时间:2024.03.25 16:23:56

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

背景信息

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

前提条件

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

使用限制

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

添加任务

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

参数说明

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

说明

Kubernetes 镜像升级任务不支持添加其他步骤。

alt

配置项说明
任务名称默认为 Kubernetes 镜像升级,支持自定义任务名称。
上游任务展示当前任务的上游串行任务名称。无上游任务时展示为-
部署资源选择已接入的待部署集群。
命名空间选择或输入待部署工作负载所在的命名空间。

应用类型

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

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

镜像

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

  • 上游产物:选择前序镜像打包任务的产出物作为目标镜像。
  • 自定义:输入提前准备好的镜像地址作为目标镜像。镜像地址示例:xxx.com/ns/nginx:v1 。
超时时间设置自动超时时间。任务运行时长超过该时间,则判断部署失败,系统自动触发回滚操作,回滚到升级前版本。
任务输出展示当前任务输出的产物。无产物时展示为-
高级设置Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。

发布过程

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

部署详情

下文为您介绍该预置任务运行完成后,流水线展示的详情信息。
在当前流水线的运行详情页面,单击 Kubernetes 镜像升级卡片的标题,查看运行日志、任务配置、部署详情等信息。

alt

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