Kubernetes 镜像升级

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

前提条件

请确保已经在阿里云的ACK集群或者自定义K8s集群上部署了应用镜像服务,有关在流水线上部署ACK集群镜像应用,可以参见Node.js 应用构建并部署到 ACK 集群

添加镜像升级任务

在流水线Flow 控制台,选择目标流水线,添加Kubernetes 镜像升级任务。

Group@1x

镜像升级任务部署配置

  1. 在目标流水线任务步骤中,配置Kubernetes 镜像升级任务。

    参数

    说明

    步骤名称

    自定义步骤名称。

    集群连接

    使用集群连接,连接到自定义Kubernetes或者阿里云容器服务集群,如果第一次使用可以新建连接,详情可参见Kubernetes 服务连接

    Kubectl版本

    Kubectl 版本为当前步骤中使用的kubectl客户端版本。请选择与集群适配的Kubectl版本,详情可参见Kubernetes版本概览及机制

    命名空间

    选择Kubernetes集群中目标自定义命名空间或者默认命名空间,详情可参见管理命名空间与配额

    Workloads 类型

    选择您要升级的Workloads(工作负载)类型。它是Kubernetes集群中的资源对象类型,详情可参见工作负载类型

    Workloads 名称

    选择您要升级的Workloads(工作负载)名称。就是上一个参数选择的资源对象类型目标资源对象自定义名称。

    容器名称

    Kubernetes中一个Pod可能包含多个容器,这里需要指定升级的容器名称,详情可参见管理容器组(Pod)

    镜像

    选择上游任务步骤中镜像构建仓库地址,详情可参见ACR个人版实例

    Group@1x

    说明

    注意事项:

    • kubectl版本建议不低于服务端版本。

    • k8s的命名空间确保正确。

    • Workloads类型默认为Deployment,如果是其他类型如StatefulSet,记得修改。

    • Workloads的名称和容器名称必须与实际运行的一致。

    • 镜像有两种方式输入:1. 从前序构建产物中选择;2. 直接输入镜像地址。注意:如果选择不到镜像,请检查前序是否有镜像构建并上传的步骤;另外需注意镜像地址可能有多个,如公网地址和VPC地址,请确保k8s能拉取到对应的地址。

  2. 保存并运行流水线。Group@1x (1)

  3. 查看日志和发布单详细信息。

    Group@1x

  4. 查看应用镜像升级前后的POD容器输出日志结果。

    升级前

    image

    升级之后

    image