以下文章来源于 KodeRover

前言

亚马逊云科技提供全球覆盖广泛、服务深入的云平台,连续 11 年被 Gartner 评为“全球云计算领导者”。其完整的云原生“家族产品”,如 Amazon EKS/ECR/S3 (Amazon Simple Storage Service)/EC2…可以很好地支撑企业各类上云业务场景。

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

本文中我们将演示在亚马逊云科技上安装、使用 Zadig,以及 Zadig 是如何支持亚马逊云科技全家桶进行微服务的持续交付,助力企业以更优雅的姿势快速走上云原生交付之路,降低成本、提高敏捷性并加速创新。

安装 Zadig

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

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

第一步 下载安装脚本:

curl -LO https://github.com/koderover/zadig/releases/download/v1.15.0/install_quickstart.sh
chmod +x ./install_quickstart.sh

*左滑查看更多

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

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

*左滑查看更多

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

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

使用 Zadig

准备工作

集成亚马逊云科技资源

对象储存

系统管理员访问 系统设置 -> 基础设施 -> 对象存储 -> 新建 ,提供商选择 Amazon S3,填写基本配置信息并设置为默认使用后保存。

镜像仓库

系统管理员访问 系统设置 -> 基础设施 -> 镜像仓库 -> 新 ,提供商选择 Amzon ECR ,填写基本配置信息后保存即可。

Helm Chart 仓库

系统管理员访问 系统设置 -> 基础设施 -> HELM 仓库 -> 新建 ,填写由亚马逊云科技厂商提供的 Chart 仓库配置后保存即可。

准备项目

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

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

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

  • 代码信息 :准备工作中集成的代码信息

  • 通用构建脚本 :内容如下所示

#!/bin/bash
set -excd $WORKSPACE/zadig/examples/voting-app/result
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE

*左滑查看更多

  • 添加步骤 :增加文件存储,将 zadig/examples/voting-app/result 目录下的内容归档到 Amazon S3 对象存储中

创建环境

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

运行工作流

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

构建日志的内容会存储在 Amazon S3 对象存储中,在工作流运行时可点击查看实时构建日志,当构建失败时可辅助排查问题。

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

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

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

创建版本

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

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

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

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

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

更多场景

对于暂时不便于迁移容器部署的场景,比如基础设施本身是可网络互通的设备:IoT 物联网场景下自动驾驶车辆主机端、工厂可连接设备……也可以结合 Zadig 的主机类型项目和亚马逊云科技主机资源对服务进行持续交付,具体使用方法可参考教程:如何使用现有主机 + 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

听说,点完下面4个按钮

就不会碰到bug了!

Zadig 玩转亚马逊云科技全家桶相关推荐

  1. 云计算的未来,就是“打车模式” | CCF C³@亚马逊云科技

    金磊 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 企业"无云"将会非常罕见,就像"无网络"一样窘迫. 早在2016年,知名研究机构Gartner ...

  2. 速来!亚马逊云科技AI盛会开源专场吹响集结号

    允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI "如何模拟.延伸和扩展人类的智能?""人工智能!" "如何从数据中发掘价值.获取洞察.提升 ...

  3. 亚马逊云科技入门资源中心,从0到1轻松上云

    一.亚马逊云科技介绍 概念:Amazon Web Servies, 亚马逊云科技 - 云计算平台 . 背景介绍: 早在十几年前 ,云计算的概念被提出,当时还没有一个清晰的定义或者描述.基本思想是替代现 ...

  4. 亚马逊云科技软件开发工程师团队

    在亚马逊云科技,有着这么一群人,他们经常被认为只会写代码,而不善言辞.但这只是大家对他们的误解.他们的工作不仅需要懂开发.善沟通,还需要能够dive deep用户的需求.他们就是亚马逊云科技的 Sof ...

  5. 亚马逊云科技——如何在中国市场破局?

    目录 1.云计算的优势 2.云服务市场现状 3.亚马逊云科技如何在国内破局 4.总结 记得在2012年刚刚进入互联网行业的时候,云计算正在以燎原之势点燃了整个互联网草原.当时经历了亚马逊AWS的初体验 ...

  6. SK海力士量产采用EUV技术的第四代10纳米级DRAM;捷波朗推出全新降噪耳机;TCL选择亚马逊云科技智能湖仓 | 全球TMT...

    新品 SK海力士开始量产采用EUV技术的第四代10纳米级DRAM.SK海力士宣布,已于7月初开始量产适用第四代10纳米级工艺的 8Gigabit(Gb)LPDDR4 移动端DRAM产品.自从10纳米级 ...

  7. 2023亚马逊云科技中国峰会引领无服务器架构新潮流:Serverlesspresso Workshop

    序言 在今年3月,我有幸接触了一个项目,也因此结识了 亚马逊云科技无服务器架构 Serverless.在陆续了解 Amazon 产品的过程中,我逐渐发现它所带给我的惊喜远远超出了最初的预期. 今天,想 ...

  8. 亚马逊云科技依托人工智能进行游戏数据分析,解决游戏行业痛点,助力游戏增长

    前言 据互联网数据显示:2014 年我国游戏行业用户规模为 517.31 百万人,直至 2020 年达 554.79 百万人:同时,2020 年,我国游戏市场实际销售收入 2786.87 亿元,比 2 ...

  9. 亚马逊云科技游戏孵化营-游戏的增长

    在本次主题<构建无服务器的游戏数据分析管线>的直播中,秦镜高先生(亚马逊云科技资深解决方案架构师)分享了亚马逊云科技 Game Tech 的数据分析相关的内容. 1,数据分析能为游戏带来哪 ...

最新文章

  1. 前景背景分割——ostu算法的原理及实现 OpenCV (八)
  2. 什么是一个人真正的魅力?
  3. 自定义控件:QQ气泡效果粘性控件的实现
  4. Hadoop命令执行时提示JVM OOM问题的处理
  5. matlab图像显示时间,请问怎么把样点数变成时间显示在图像了里
  6. Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
  7. Spark架构与作业执行流程简介
  8. 【NOIP模拟】开車【回退贪心】【multiset】
  9. iOS 一个方法首次安装滚播图 展示应用简介
  10. 实习成长之路:面试官说的MySQL高可用-------主备一致到底是什么?
  11. iso12233测试方法_ISO12233图像分辨率测试卡的使用方法
  12. 华为云虚拟服务器怎么搭建,云服务器怎么搭建虚拟主机
  13. 彻底弄懂typedef struct和struct定义结构体的区别
  14. java 股票交易系统_JAVA程序实现股票交易系统设计
  15. linux下的DoS软件awl介绍
  16. 仿微信翻译----本地短信翻译。
  17. Frame 与JFrame 的区别
  18. SpringMVC @GetMapping注解路径冲突问题
  19. latex公式自动换行与不自动换行的实现
  20. STM32F1 HAL库读写SD卡的操作要点

热门文章

  1. AIGC大一统模型来了!CV界泰斗黄煦涛创立团队提出「全能Diffusion」
  2. 风险管理系列课程二:利用图技术优化反洗钱解决方案
  3. 从现在开始就是最早的开始
  4. 深圳自然人报税系统的服务器地址,自然人报税网络设置服务器地址
  5. 【tinyriscv verilator】分支移植到正点原子达芬奇开发板
  6. Flink(九):JobManager 内存简介
  7. 如何看充电时长是否合理
  8. Mac下载SQLServer
  9. 深富策略:机构配置核心赛道股催生A股年底翘尾行情
  10. 分享最新版的 INTELWIFI 驱动包