更新时间:2023-07-03 GMT+08:00

CCE滚动升级

Kubernetes发布提供CCE滚动升级能力,支持对CCE集群或者Kubernetes集群上的Deployment进行滚动发布。Kubernetes发布提供了以下两种滚动发布能力:

  • 若开发人员只需要对 Deployment 镜像进行升级,可以使用 “镜像升级”对集群中已有的 Deployment 进行镜像升级。
  • 对于使用原生YAML的用户可以使用YAML部署,将用户代码库中的YAML部署到CCE集群中,同时支持YAML模板参数化,以实现更灵活的YAML复用。

前提条件

在CCE集群已经创建好待升级的Deployment。

操作步骤

  1. 创建流水线并配置好镜像构建后,在流水线上添加“Kubernetes 发布”任务,填写相关参数,参数说明如表 1所示。

    表1 参数说明

    参数项

    说明

    名称

    升级的名称,默认为“Kubernetes发布”。

    区域

    选择要部署的区域。

    CCE集群

    选择CCE云容器引擎中申请的K8s集群。

    命名空间

    选择CCE云容器引擎中K8s集群的命名空间。

    是否使用IAM提权

    当前子用户无执行接口操作权限时,可通过IAM提权获取父用户的临时AK/SK执行CCE接口。

    部署策略

    部署策略包括滚动升级和蓝绿升级(本节选择“滚动”)。

    • 滚动:对Deployment进行滚动发布。
    • 蓝绿:基于ASM的蓝绿发布。

    部署方式

    部署方式包括“镜像升级”和“YAML部署”。

    • 镜像升级:若开发人员只需要对Deployment镜像进行升级,可以使用“镜像升级”对集群中已有的Deployment进行镜像升级。
    • YAML部署:对于使用原生YAML的用户可以使用YAML部署,将用户代码库中的YAML 部署到CCE集群,同时支持YAML模板参数化,以实现更灵活的YAML 复用。

    部署方式选择“镜像升级”

    工作负载

    选择滚动升级的工作负载。

    容器

    选择滚动升级的容器。

    镜像地址

    填写本次升级的镜像地址,镜像地址支持输入提前准备好的镜像地址作为目标镜像。例如:swr.cn-north-1.myhuaweicloud.com/demo/springboot-helloworld:v1.1;也可以通过“${}”引用流水线参数,例如:swr.cn-north-1.myhuaweicloud.com/demo/springboot-helloworld:${version}。

    部署方式选择“YAML部署”

    代码仓

    选择YAML文件所在的代码仓。

    分支

    选择YAML文件所在的分支。

    yaml路径

    选择YAML文件所在的YAML路径。

    参数

    可以选择添加“参数”,在YAML文件中可使用“ {{}} ”引用参数,Kubernetes 发布插件会将用户在此处配置的参数动态渲染到YAML文件中。

  2. 完成插件配置之后,运行流水线,跳转到“发布单”页面查看本次升级过程。

    页面展示本次升级的工单号、触发人、开始时间、结束时间和发布状态等基础信息,以及升级的基本信息、发布详情和回滚单等信息。

    • 如果需要回滚,请单击“回滚”,可将流量切换到旧负载并下线新负载,页面将跳转到“回滚单”,回滚单展示内容与发布单类似。
    • 单击“发布状态”,可以手动刷新发布状态。

    基本信息

    展示本次升级的负载名称、负载类型、副本数、负载的命名空间、本次升级的版本号以及本次升级的镜像。

    发布详情

    展示本次升级的负载信息,包括负载对应Pod信息以及事件信息。

    • Pod信息
      • 实例名称: Pod的名称。
      • Pod状态 :Pod的运行状态。
      • Pod IP :Pod的IP。
      • Host IP :Pod所在节点的IP。
      • 创建时间 :实例创建的时间。
    • 关键事件

      可以查看Pod的关键事件(包括K8s组件名、事件类型、K8s事件和首次发生时间、最近发生时间),用于辅助Pod问题定位。