前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zadig 玩转腾讯云云原生全家桶 TKE/TCR…

Zadig 玩转腾讯云云原生全家桶 TKE/TCR…

作者头像
腾讯云原生
发布2022-11-03 12:11:21
1.1K0
发布2022-11-03 12:11:21
举报

云原生时代,作为国内主流云厂商腾讯云,拥有完整的云原生“家族产品”,比如腾讯云容器服务 TKE、容器镜像服务 TCR、对象存储 COS 等等...这些产品可以很好地降低企业云原生入门门槛。

Zadig 作为云原生持续交付平台,支持多云架构交付,对腾讯云基础设施的兼容和适配性也极其友好。

本文中我们将演示在腾讯云上安装 Zadig使用 Zadig,以及 Zadig 是如何支持腾讯云全家桶进行微服务的持续交付,助力企业以更优雅的姿势快速走上云原生交付之路。

安装 Zadig

以下操作以社区版 v1.15.0 版本为例,使用脚本的方式在 TKE 集群上快速安装 Zadig。

TKE 集群版本:v1.16~v1.22

第一步 下载安装脚本:

代码语言:javascript
复制
curl -LO https://github.com/koderover/zadig/releases/download/v1.15.0/install_quickstart.shchmod +x ./install_quickstart.sh

第二步  配置环境变量并执行安装脚本:

代码语言:javascript
复制
export IP=124.53.19.22 # 集群任一节点的外网 IP 地址export PORT=30333      # 安装完毕后,使用 IP:PORT 来访问 Zadig 系统./install_quickstart.sh

安装完毕后,使用系统默认的账号密码登录即可。

更丰富的安装参数和方式可参考文档:安装 Zadig | Zadig 文档 [1]

使用 Zadig

准备工作

集成腾讯云资源

  • 集群 系统管理员访问 系统设置 -> 基础设施 -> 集群管理 -> 新建 ,提供商选择 其他 ,填写腾讯云 TKE Serverless 集群基本配置信息后保存。
  • 对象储存 系统管理员访问 系统设置 -> 基础设施 -> 对象存储 -> 新建 ,提供商选择 腾讯云 COS,填写基本配置信息并设置为默认使用后保存。
  • 镜像仓库 系统管理员访问 系统设置 -> 基础设施 -> 镜像仓库 -> 新建 ,提供商选择 腾讯云 TCR ,填写基本配置信息后保存即可。
  • Helm Chart 仓库 系统管理员访问 系统设置 -> 基础设施 ->   HELM 仓库 -> 新建 ,填写由腾讯云厂商提供的 Chart 仓库配置后保存即可。

准备项目

本文使用 voting-app 案例进行演示,案例源码位于 koderover/zadig [2]代码库中,目录结构说明如下:

本例中集成的 Helm Chart 仓库已有 voting-app 服务的 chart 配置,如果读者完全按照本实践操作,请将 chart 目录的内容上传到自己的 Helm Chart 仓库中。

代码语言:javascript
复制
zadig/examples/voting-app├── chart    # Helm Chart 配置├── result   # result 服务源码├── vote     # vote 服务源码└── worker   # worker 服务源码

集成代码源

系统管理员访问 系统设置 -> 集成管理 -> 代码源集成 -> 添加 ,集成代码源(即:voting-app 所在的代码源)。

系统管理员可 fork  koderover/zadig 代码库,也可以下载后上传到自己的代码仓库中。

如何使用

下面以 voting-app-helm-demo 项目为例来演示,包括搭建项目、管理服务配置、持续构建部署服务、版本管理的完整场景。

创建项目

系统管理员登录系统后点击 新建项目 ,创建 K8s Helm Chart 类型的项目 voting-app-helm-demo ,点击 下一步 。

导入服务

从腾讯云提供的 Helm Chart 仓库中导入服务的 Chart 配置到 Zadig 中。

点击 从 Chart 仓库同步 ,选择 Chart 仓库以及 Chart 后新建即可导入服务配置,系统会自动解析 values 文件中的服务和服务组件,导入成功后点击 下一步 。

构建配置

为服务组件配置构建,后续可使用工作流对该服务进行变更。以examplevotingapp_result 为例,点击 添加构建 并填写构建配置后点击 下一步 。本例中构建配置说明如下:

  •  构建名称 :voting-app-helm-demo-build-result
  •  代码信息 :准备工作中集成的代码信息
  •  通用构建脚本 :内容如下:
代码语言:javascript
复制
#!/bin/bashset -ex
cd $WORKSPACE/zadig/examples/voting-app/resultdocker build -t $IMAGE -f Dockerfile .docker push $IMAGE
  •  高级配置 :在资源配置中选择腾讯云 TKE  Serverless 集群
  •  添加步骤 :增加文件存储,将   zadig/examples/voting-app/result 目录下的内容归档到腾讯云对象存储中

创建环境

选择 本地集群 和 TCR 镜像仓库后点击 创建环境 ,系统会自动在 TKE 集群创建 dev 和qa 两套环境,待环境创建完毕后点击 下一步 。

运行工作流

系统自动创建 3 条工作流,运行 voting-app-helm-demo-workflow-dev 工作流来更新dev 环境的 result 服务。

构建任务会运行在腾讯云TKE Serverless 节点上,资源按需使用,避免浪费。构建日志的内容会存储在腾讯云对象存储中,在工作流运行时可点击查看实时构建日志,当构建失败时可辅助排查问题。

工作流执行完毕后,会将新的镜像推送到腾讯云镜像仓库中,并使用该镜像更新 dev 环境的 result 服务,实现微服务的持续部署。

登录腾讯云对象存储控制台查看,构建中配置的归档文件被成功上传。

在实际使用中,还可以充分利用工作流的触发器能力:只需在工作流中配置开启 Git 触发器便可实现代码变更后自动构建部署服务的全部流程,缩短代码到交付的时间周期,具体使用可参考 代码变更自动触发工作流 | Zadig 文档 [3]

创建版本

在 Zadig 平台上持续部署验证迭代出稳定的服务版本后,可创建完整的 Helm Chart 版本(比如:用于和内部发布系统对接)。

访问项目的 版本管理 -> 创建版本 ,填写版本基本信息:

选择环境和服务后点击 添加 ,点击 下一步 :

选择腾讯云镜像仓库和 Chart 仓库,填写版本号后点击 完成 即可基于指定环境创建服务版本。

创建完毕后,可查看版本详情、将完整的 Helm Chart 包下载到本地,企业内部系统也可以从对应的 Chart 仓库中获取该版本。

更多场景

对于暂时不便于迁移容器部署的场景,比如基础设施本身是可网络互通的设备:IoT 物联网场景下自动驾驶车辆主机端、工厂可连接设备...等,也可以结合 Zadig 的主机类型项目和腾讯云 CVM 主机资源对服务进行持续交付,具体使用方法可参考教程: 如何使用现有主机 + Zadig 自动化交付产品 [4]。

参考链接

[1] https://docs.koderover.com/zadig/v1.15.0/install/overview/

[2] https://github.com/koderover/zadig/

[3] https://docs.koderover.com/zadig/v1.15.0/workflow/trigger/#代码变更触发

[4] https://www.koderover.com/tutorials/codelabs/cloudhost/index.html

点关注,不迷路~~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档