详情页标题前

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

详情页1

概述

DevOps 理念被越来越多的企业采纳,DevOps 是 Development 和 Operations 的组合词,代表着重视“软件开发人员(Dev)”和 “IT 运维技术人员(Ops)”之间沟通合作的文化,旨在透过自动化“软件交付”和“架构变更”的流程,使得构建、测试、发布软件的过程能够更加地快捷、频繁和可靠。在云原生时代,使用 DevOps 思维可实现敏捷开发,本文将介绍和实践专为云原生打造的 TKE 容器 DevOps 服务,实现从代码提交时触发镜像自动构建,镜像构建成功时触发自动部署流程将应用部署、更新到 TKE 集群中的一整套无缝衔接的 Devops 流水线。

TKE 容器 DevOps

简介

TKE 容器 DevOps 是 容器服务 TKE、容器镜像服务 TCR 和 CODING DevOps 服务紧密结合,面向容器业务场景,具备自动化代码编译、容器镜像构建、镜像推送及应用部署等功能,为客户提供强大的一站式云原生 DevOps 服务。容器 DevOps 快速入门请参见 TKE 和 Coding 协同业务实现快速迭代。

业务流程

TKE 容器 DevOps 服务贯穿了整个应用开发和部署流程的全生命周期管理,实现了从更新代码到应用部署、更新的自动化,业务流程如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技



前提条件

已创建 TKE 测试集群,创建过程可参见 部署容器服务 TKE。 开通 TCR 服务。并已创建可访问的 TCR 测试实例和生成测试实例访问凭证,TCR 需要开通企业标准版或高级版支持云原生交付工作流,详情请参见 容器镜像服务购买指南。目前 TCR 支持区域请参见 支持地域。 已开通 CODING DevOps 服务,并已创建和完善 Coding Devops 团队。如使用子账号进行操作,请使用主账号在 CODING DevOps 控制台 快速创建拥有权限的子用户或参考 子用户权限设置 提前为子账号授予对应实例的操作权限。

操作步骤

TKE 容器 Devops 功能提供了强大的云原生 Devops 服务,本文将介绍 TKE 容器 Devops 如何实现从源码更新到业务发布的整套自动化流程。

访问容器 DevOps

登录容器服务控制台,选择左侧导航栏中的 DevOps,单击立即使用。如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技



配置代码托管

在 Coding 团队主页面创建一个测试项目和测试代码仓库,创建步骤请参见 创建项目并创建代码仓库。关于 Coding 代码托管介绍请参见 代码托管介绍。

创建构建计划

1. 登录 Coding DevOps ,选择左侧导航中的 项目,进入项目管理页。 2.项目管理页中,单击已创建 测试项目 的名称,进入该项目详情页。 3. 在左侧导航栏中选择持续集成 > 构建计划 > 创建构建计划,进入选择构建计划模板页面。 说明构建计划是持续集成的基本单元,可以通过选择构建计划模板快速创建一个构建计划,详情请参见 快速开始持续集成。 4. 选择构建镜像并推送到 TCR 企业版模板快速创建一个构建计划,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


根据构建计划模板选择需要检出的代码源和配置 TCR 访问凭证相关环境变量,在右边可查看模板生成的 Jenkinsfile 预览,如下图所示:说明Coding DevOps 和 TCR 实例之间内网互通,镜像 push 默认使用内网传输,无需另外配置。 

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


使用构建模板生成的构建项目,也可通过在构建计划详情页中选择项目名称,进入项目详情页后单击设置菜单对构建详情进行自定义配置,构建计划配置页面如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

基础信息基础配置页面可选择代码源和节点池等基础配置,节点池相关说明请参见 构建节点。 流程配置用来配置运行构建任务的环境,相关说明请参见 构建环境。 触发规则用来配置构建计划的触发规则,可支持通过多种方式来触发构建计划,相关说明请参见 触发规则。 变量与缓存环境变量与缓存配置,相关说明请参见 环境变量 和 缓存目录。 通知提醒构建计划完成时可向指定的 Coding 团队成员发送通知提醒。5. 单击确认即可完成创建构建计划。 6. (可选)在项目配置 > 开发者选项 > WebHook 中选择新建 WebHook,将事件通知推送到企业微信等即时通信平台,详情请参见 WebHook 和 绑定企业微信群机器人。更多关于 Coding 持续集成的介绍请参见 持续集成介绍。

创建持续部署

1. 登录 Coding DevOps,选择左侧导航中的 项目,进入项目管理页。 2.项目管理页中,单击已创建 测试项目 的名称,进入该项目详情页。 3. 在左侧导航栏中选择持续部署 > Kubernetes,单击快速体验。如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


4.部署控制台页面,自定义选择 需要配置的云账号 类型即可继续进行 配置应用和流程、关联项目和应用 及 开始部署 等后续步骤。

配置云账号

如何选择云账号类型请参见 云账号 官方文档,添加配置部署云上资源的访问云账号信息,可以选择腾讯云 TKE 或者 Kubernetes 类型的云账号,输入相关认证配置添加云账号,本文以选择 Kubernetes 为例介绍如何配置云账号。 1.基于 Kubernetes 的持续部署页面,单击立即配置。 2.云账号管理页面,单击右侧的绑定云账号。 3.绑定云账号页面,选择 Kubernetes,其他内容按需选择。如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

4. 单击确定即可完成绑定云账号。

配置应用和流程

关于 Coding 应用与项目相关说明请参见 应用与项目 和 流程配置,本文将介绍配置应用和流程过程中的关键配置项。 1. 在创建应用时,需要勾选 Kubernetes(TKE) 部署方式,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

2. 在新建的应用中创建部署流程时,选择 Kubernetes 流程模板,再根据实际需要选择模板流程,本文以“部署 Deployment 和 Service 到 Kubernetes 集群”流程为例。如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

3.部署流程中配置部署流程时,启动所需制品选项关联之前的持续集成环节生成的 TCR 仓库镜像制品。如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

4. 使用自动触发器绑定 TCR 仓库镜像制品,当有新版本镜像构建成功时,将自动触发部署流程。配置方式如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技

5. 配置部署 Deployment部署 Service部署阶段,两个阶段的配置方式类似,选择添加有部署权限的 云账号 和填写自定义的 Manifest,即自定义部署 YAML 模板。

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


本文将以“手动配置 TKE 拉取 TCR 私有仓库镜像的访问凭证” 的方式为例,自定义 Deployment YAML。示例如下:注意本示例仅使用简单的 Deployment YAML 部署到 Kubernetes 集群,使用了默认的滚动部署(RollingUpdate)更新策略。实际上,可以借助 Nginx-ingress / Istio 等工具配置更高级的更新策略,如蓝绿发布、金丝雀、A / B 测试等,具体使用方法可参见 蓝绿发布、Nginx-ingress 实现自动化灰度发布、持续部署 + TKE Mesh 灰度发布实践。

apiVersion: apps/v1kind: Deploymentmetadata:  name: devops-appspec:  replicas: 2  selector:    matchLabels:      app: devops-app  template:    metadata:      labels:        app: devops-app    spec:      containers:      - image: xxx-test.tencentcloudcr.com/xxx-test/jokey-test  # 示例镜像地址        name: devops-app        ports:        - containerPort: 5000      imagePullSecrets:  # 私有仓库访问凭证配置       - name: tcr-secret # 访问凭证 secret

其中,spec.template.spec.containers.*.image 的镜像地址字段包含在 Coding 的转换匹配规则中,关于转换匹配规则的说明可参见 在 manifest 中绑定制品。 说明 TKE 拉取 TCR 私有仓库镜像有两种方式:在 TCR 支持区域内可配置 TKE 免密拉取 TCR 容器镜像,关于 TCR 支持区域请参见 支持地域,关于如何配置可参见 TKE 集群使用 TCR 插件内网免密拉取容器镜像。 手动配置 TKE 拉取 TCR 私有仓库镜像的访问凭证,配置方式可参见 TKE 配置私有仓库访问示例 。自定义的 Service Manifest YAML 示例:

apiVersion: v1kind: Servicemetadata:  labels:    app: devops-svc  name: devops-svcspec:  ports:  - port: 5000  protocol: TCP  selector:    app: devops-app

6. (可选)为部署流程的每个阶段配置自定义事件通知,可方便快捷获知部署流程执行情况。本文以配置“企业微信”通知方式,获取企业微信 Webbook 机器人链接的方法可参见 创建企业微信群机器人。

关联项目和应用

关联项目和应用配置可参见 项目和应用关联。

开始部署

提单发布使用和配置请参见 新建发布单。更多关于 Coding 持续部署的详细介绍请参见 持续部署介绍。

测试验证

在项目代码文件中修改添加如下图所示的 v2 API 代码后提交 master 分支:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


由于持续集成中的构建计划使用了 “代码更新时自动执行” 的事件触发配置,了解相关触发配置请参见 触发规则。当提交修改的代码时,会自动触发关联的构建计划执行,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


如果为持续集成配置企业微信 Webhook 通知,企业微信也会收到相应的即时通知消息,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


当构建计划生成 Docker 镜像制品时,又会自动触发关联的持续部署流程,将新的镜像应用更新到 TKE 集群中,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


如果部署流程有配置企业微信通知的话,当部署流程任务完成时,会收到对应的企业微信部署完成通知,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


此时,可以在 TKE 中看到已经成功更新了工作负载,如下图所示:

腾讯云容器服务使用 CODING 在 TKE 中快速实现容器 DevOps同尘科技


从测试验证结果可以看出,我们在 TKE 中实现了从源码更新到业务发布的整套 DevOps 流程。
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/148642.html

(0)
上一篇 2023年12月9日 下午12:58
下一篇 2023年12月9日 下午12:59
详情页2

相关推荐

  • 腾讯云TDSQL-C MySQL版查看备份列表

    集群创建之初,TDSQL-C MySQL 版会按照默认的备份设置(根据日志生成速率等因素,7*24不间断进行快照备份,快照备份文件生成周期间隔6~48小时不等,默认保留7天)自动备份数据,您也可以通过控制台对集群进行自动备份设置或进行手动备份,备份文件及相关信息可通过备份列表进行查阅。本文为您介绍通过控制台查看备份列表的方法。 操作步骤 1. 登录 TDSQ…

    2023年12月9日
  • 宜搭中的this.dataSourceMap.xxx.load() API该如何取消异步操作?-云小二-阿里云

    宜搭中的this.dataSourceMap.xxx.load() API 该如何取消异步操作? 调用此API会进行异步操作导致获取的数据顺序是乱的,请问有什么办法可以让其进行串行操作? 以下为热心网友提供的参考意见 在宜搭中,this.dataSourceMap.xxx.load() API 是用于手动调用指定的远程API。当使用此API时,它会返回一个P…

    阿里云 2023年12月18日
  • 腾讯云内容分发网络CDN性能监测

    功能介绍 性能监测是一站式前端监控解决方案,专注于 Web,小程序等前端场景监控。用户只需要安装 SDK 到自己的项目中,通过简单配置化,即可实现对用户页面质量的全方位守护。真正做到了低成本使用和无侵入的监控,实现页面性能和前端质量的实时可观测。说明 性能监测由腾讯云前端性能监控提供服务,您在开通后,也可以前往前端性能监控控制台管理应用。详细操作文档可参考:…

    2023年12月9日
  • PolarDB开启了会话一致性,然后用dts做数据同步,此时数据库会提示报错,怎么解决? -云小二-阿里云

    PolarDB开启了会话一致性,然后用dts做数据同步,此时数据库会提示报错,怎么解决? Wait replication complete timeout, please retry 报错就是提示这个。loose_innodb_polar_scc_wait_timeout 根据文档来看,可以调整这个参数,但上面没写单位,不太清楚该设置多大的好 以下为热心网…

    2023年12月28日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储更新 HLS 解密 Token

    功能描述 ModifyM3U8Token 接口用于在加密 M3U8 的 key uri 中增加 Token。 授权说明 授权策略中 action 设置为 ci:ModifyM3U8Token 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。