CCE滚动升级
Kubernetes发布提供CCE滚动升级能力,支持对CCE集群或者Kubernetes集群上的Deployment进行滚动发布。Kubernetes发布提供了以下两种滚动发布能力:
- 若开发人员只需要对 Deployment 镜像进行升级,可以使用 “镜像升级”对集群中已有的 Deployment 进行镜像升级。
- 对于使用原生YAML的用户可以使用YAML部署,将用户代码库中的YAML部署到CCE集群中,同时支持YAML模板参数化,以实现更灵活的YAML复用。
前提条件
在CCE集群已经创建好待升级的Deployment。
操作步骤
- 创建流水线并配置好镜像构建后,在流水线上添加“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文件中。
- 完成插件配置之后,运行流水线,跳转到“发布单”页面查看本次升级过程。
页面展示本次升级的工单号、触发人、开始时间、结束时间和发布状态等基础信息,以及升级的基本信息、发布详情和回滚单等信息。
- 如果需要回滚,请单击“回滚”,可将流量切换到旧负载并下线新负载,页面将跳转到“回滚单”,回滚单展示内容与发布单类似。
- 单击“发布状态”,可以手动刷新发布状态。
基本信息
展示本次升级的负载名称、负载类型、副本数、负载的命名空间、本次升级的版本号以及本次升级的镜像。
发布详情
展示本次升级的负载信息,包括负载对应Pod信息以及事件信息。
- Pod信息
- 实例名称: Pod的名称。
- Pod状态 :Pod的运行状态。
- Pod IP :Pod的IP。
- Host IP :Pod所在节点的IP。
- 创建时间 :实例创建的时间。
- 关键事件
可以查看Pod的关键事件(包括K8s组件名、事件类型、K8s事件和首次发生时间、最近发生时间),用于辅助Pod问题定位。