You need to enable JavaScript to run this app.
文档中心
持续交付

持续交付

复制全文
下载 pdf
部署
Kubernetes 分批发布
复制全文
下载 pdf
Kubernetes 分批发布

持续交付预置 Kubernetes 分批发布 任务,支持用户设置部署策略,对 Kubernetes 集群上的应用进行按实例分批滚动发布,保证发布过程更加可控。

前提条件

使用限制

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

添加任务

创建或编辑流水线时,在 流程编排 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 部署 > Kubernetes 分批发布

参数说明

下文为您介绍该预置任务的参数。

说明

Kubernetes 分批发布任务不支持添加其他步骤。

alt

配置项说明
任务名称默认为 Kubernetes 分批发布,支持自定义任务名称。
上游任务展示当前任务的上游串行任务名称。无上游任务时展示为-
部署资源选择已接入的待部署集群。
命名空间选择或输入待部署应用所在的命名空间。

服务名称

选择或输入 Kubernetes 分批发布的目标 Service。

说明

该参数为选填参数。v1 版本中,使用 Service 关联多个 Deployment 版本,保证服务发布过程平滑可靠。v2 版本通过控制 Deployment 的新旧 ReplicaSet 比例实现分批部署,不再依赖该参数。

应用类型

设置待部署的工作负载类型及名称。

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

镜像

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

  • 上游产物:选择前序镜像打包任务的产出物作为目标镜像。
  • 自定义:输入提前准备好的镜像地址作为目标镜像。镜像地址示例:xxx.com/ns/nginx:v1 。

部署策略

配置分批发布任务的部署策略,包括滚动批次、每批比例、等待时间 3个参数。

  • 滚动批次:设置分批发布策略的批次。每个批次发布完成后流程进入等待状态,需人工确认是否继续部署。
  • 每批比例:设置每批发布的比例。最后一个批次比例由前序批次调整后自动算出,不允许修改。比例之和必须为 100%。
    实例数量 × 每批比例 = 一次升级的数量,若不为整数向下取整,多余的实例最后一批升级完成。
    例如: 10 个实例分 3 批部署,批次比例为 30%、30%、40%,则每批部署数量为 3、3、4。
  • 等待时间:设置用于人工确认的最大等待时间。若超过等待时间仍未人工确认继续部署还是回滚,则判断部署失败,系统自动触发回滚操作,回滚到升级前版本。
任务输出本预置任务无产物输出。
高级设置Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。

发布过程

Kubernetes 分批发布任务执行过程中,每一批次发布完成后,流水线都会进入暂停状态,需在有效时间内人工确认是否继续部署。若超过等待时间仍未人工确认,则判断部署失败,系统自动触发回滚操作,回滚到升级前版本。

  • 继续部署:结束等待,继续按照用户配置的分批策略进行下一批次部署。
  • 立即回滚:结束等待,所有实例回滚到升级前版本。

说明

若分批发布任务运行失败,系统将自动触发回滚,回滚到升级前版本。

部署详情

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

  • 运行日志:实时展示该任务的运行日志。
  • 任务详情:展示分批批次和每个批次的部署结果。
  • 任务配置:展示该任务的配置参数,详情可参考前文的参数说明。
  • 部署详情:实时展示新旧版本的实例列表信息,包括实例名称、运行状态、启动时间。所有新版本实例均处于 running 状态表示发布成功。
最近更新时间:2024.03.25 16:23:56
这个页面对您有帮助吗?
有用
有用
无用
无用