镜像更新至 K8s 集群

功能介绍

当您在持续集成中将镜像构建完毕并推送至制品库后,此插件支持进一步将镜像推送至 Kubernetes 集群。您可以通过持续集成模板或在流程配置使用此插件。

模板创建

进入持续集成功能页后,点击右上角的【创建构建计划】按钮,在「部署」中选择模板。

在第三步中选择镜像上传的目标制品库,并在第四步中填写 Kubernetes 相关配置。

填写说明:

表单项 是否必填 说明
集群 镜像更新的目标集群
命名空间 已部署工作负载所在的命名空间
资源类型 需要更新的工作负载类型
资源名称 需要更新的工作负载名称
Pod 容器 一个 Pod 可能包含多个容器,此处指定需要升级的容器名称

因部署功能可以直接管控集群的资源,属于敏感权限。若没有部署设置权限,需向管理员申请。

填写完成后勾选「创建后触发构建」,在构建过程中可以查看镜像更新的详细信息。

跳转至持续部署页面后,查看发布单详情和容器运行详情。

流程配置创建

除了通过模板的方式创建,还可以在持续集成中的流程配置中添加插件。

Jenkinsfile

pipeline {
  agent any
  stages {
    stage('部署到远端 Kubernetes 集群') {
      steps {
        cdDeploy(deployType: 'PATCH_IMAGE', application: '${CCI_CURRENT_TEAM}', pipelineName: '${PROJECT_NAME}-${CCI_JOB_NAME}-${CD_CREDENTIAL_INDEX}', image: '"${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}"', cloudAccountName: 'k8s', namespace: 'liaohongkun-1', manifestType: 'Deployment', manifestName: 'nginx-deployment-1', containerName: 'nginx', credentialId: '2f74c95a6441484d9f362bbc461a049b')
      }
    }
  }
}

参数说明

参数名称 图形化界面对应选项名 必填 文本参数类型 图形化参数类型 默认值 说明
deployType - string string PATCH_IMAGE 发布类型
application - string string ${CCI_CURRENT_TEAM} CD 应用名称
pipelineName - string string ${PROJECT_NAME}-${CCI_JOB_NAME}-${CD_CREDENTIAL_INDEX} 部署流程名称
credentialId - string string - CD 发布凭据(与项目和构建计划绑定)
image 镜像 string string - Docker 镜像
cloudAccountName 集群 string string - 云账号名称
namespace 命名空间 string string - 命名空间
manifestType 资源类型 string string - 资源类型
manifestName 资源名称 string string - 资源名称
containerName Pod 容器名称 string string - Pod 容器名称

环境变量

变量名称 必填 参数类型 保密 说明
CD_PERSONAL_ACCESS_TOKEN string 权限为 project:deployment 的个人访问令牌

注意事项

部署属于敏感操作。由于部署设置权限限制的原因,需要生成 CD 发布凭据(与项目和构建计划绑定)进行授权对应的构建计划,因此不支持复制构建计划。(运行时会报错:403 凭据错误:构建计划越权)

上一篇代码扫描
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?