环境

代码托管:gitlab
CI:tekton
CD: ArgoCD
pipline/task: 阿里云 serverless容器(spot实例且按秒计费)
应用:k8s

GPU应用的特殊性在于单个镜像的大小在10G以上,常见的在20~30G左右,基础镜像制作、构建、上传、容器拉起都会面临一些难题
为解决镜像构建、异常上传、拉起等速度问题,我的方案如下:
构建时: 利用构建缓存,多分层,使用VM主机,利用docker缓存
上传时:如上,分层缓存
拉起:利用云平台的镜像缓存技术,在CD时自动构建镜像,灰度验证阶段进行缓存构建,可提高全量时的创建速度

工作流程

接入流程

配置webhook接收MR/push事件

部署效果

飞书部署卡片每5s会更新一次,容器的create过程会更新在卡片上,直至成功

tekton 流水线

构建异常异常

任务灰度部署提醒

任务生产环境部署提醒

任务部署成功

ArgoCD

部署完成通知

回滚

此回溯场景为 新版本 已全量上线,若是部署过程中需要回滚,可直接点击卡片上的回滚按钮

入口

选择环境

选择版本

此步后的,所有操作同部署时一致



如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!

CI/CD(五)Flink 应用部署

环境 代码托管:gitlab CI:tekton CD: tekton pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:K8S Flink 应用需要解决的是任务的灵活增...

阅读全文

CI/CD(四)VM 应用部署

环境 代码托管:gitlab CI:tekton CD: 代码自实现多批次部署 pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:ECS(ESS) 应用部署在弹性...

阅读全文

CI/CD(二)前端应用自动接入并实现前(对象存储)、后端分离部署(k8s)

环境 代码托管:gitlab CI:tekton CD: ArgoCD pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 工作流程 接入流程 配置webhook接收MR/push事件...

阅读全文

欢迎留言