Ctrl+F / Command+F 全文检索
客户案例

相关最佳实践
业务上云 |

传统企业、零售和游戏行业系统分级后单库单服系统云上搭建最佳实践,涉及大部分基础云产品。

专有网络 VPC 云服务器ECS 云数据库RDS MySQL 版 负载均衡 SLB CDN 云速搭
DevOps | 容器&微服务 |

使用云效完成容器应用自动化构建和持续部署

专有网络 VPC 负载均衡 SLB 容器服务 ACK 云效 云速搭
业务上云 |

使用云桌面和VPN网关产品快速构建远程办公环境,在云桌面可以访问企业IDC内的应用和资源

云服务器ECS NAT网关 VPN网关 智能接入网关 云桌面
容器&微服务 |

基于ASK集群构建弹性低成本CI/CD系统

文件存储NAS 容器服务 ACK 弹性容器实例 ECI
容器&微服务 |

使用ACK上运行常规业务,业务突发波动时突增业务运行在ECI上/达到成本的最优控制

云数据库RDS MySQL 版 文件存储NAS 容器服务 ACK 云数据库 Redis 版 弹性容器实例 ECI 云速搭
安全&合规 |

使用阿里云实现电商网站运营期间的安全防护,包括防爬风险管理、DDoS防御、风险管理产品的能力及操作

云数据库RDS MySQL 版 负载均衡 SLB DDoS防护 风险识别 爬虫风险管理
容器&微服务 |

使用Redis、RDS和NAS以及阿里云容器服务搭建一个跨可用区高可用的系统

云服务器ECS 云数据库RDS MySQL 版 文件存储NAS 容器服务 ACK 云数据库 Redis 版
中间件 |

介绍如何用 Serverless 应用引擎(SAE)帮助企业极速构建云上微服务应用

专有网络 VPC 负载均衡 SLB 应用实时监控服务 ARMS 云监控 Serverless 应用引擎
数据分析 |

微服务应用化过程的日志采集运维管理,解决用户微服务改造过程中日志采集处理分析痛点

云服务器ECS 云数据库RDS MySQL 版 文件存储NAS 容器服务 ACK 容器镜像服务 ACR

温馨提示

未登录用户仅可预览8页内容,请您前往登录后浏览更多企业上云最佳实践案例内容。企业账号建议生成子账号授权访问。

BpFile(id=168, bpId=74, name=基于ASK的弹性低成本CI/CD系统, author=null, keyword=CI,CD,弹性,低成本, description=基于ASK集群构建弹性低成本CI/CD系统, position=null, ossUrl=bp-5KY8VO0080D3G9GJ.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=

场景描述 基于阿里云ECI的Serverless 阿里云 Kubernetes服务ASK以 及NAS存储可以帮助用户实现服务高可 用、弹性伸缩、资源扩展性好、低成本的 自动化的CI/CD系统。 方案优势 1. 高可用服务 2. 资源弹性伸缩、资源合理利用 3. 资源可扩展性高 解决问题 1.集群Master节点单点故障。 2.集群资源利用率低,资源有浪费。 3.集群资源可扩展性差。 产品列表 ⚫容器服务Kubernetes版 ⚫容器镜像服务 ⚫文件存储NAS ⚫专有网络VPC ⚫弹性容器实例ECI

, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null)
1 基于 ASK的弹性低成本 CI/CD 最佳实践 业务架构 场景描述 基于阿里云 ECI 的 Serverless 阿里云 Kubernetes服务(ASK)以及 NAS存储 可以帮助用户实现服务高可用、弹性伸 缩、资源扩展性好、低成本的自动化的 CI/CD系统。 方案优势 1. 高可用服务 2. 资源弹性伸缩、资源合理利用 3. 资源可扩展性高 解决问题 1. 集群 Master节点单点故障。 2. 集群资源利用率低,资源有浪费。 3. 集群资源可扩展性差。 产品列表 最佳实践频道 阿里云最佳实践技术分享群 ⚫ 容器服务 Kubernetes版 ⚫ 容器镜像服务 ⚫ 文件存储 NAS ⚫ 专有网络 VPC ⚫ 弹性容器实例 ECI
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息 阿里云 企业上云实践 基于 ASK的弹性 低成本CI/CD系统最佳实践 产品版本:V1.2(软件版本) 文档版本:20210301(发布日期) 文档版本:20210301(发布日期) 1
3基于 ASK的弹性低成本CI/CD系统 文档版本信息 文档版本信息 文本信息 属性 内容 文档名称 基于 ASK的弹性低成本 CI/CD系统最佳实践 文档编号 074 文档版本 V1.3 版本日期 2020-01-20 文档状态 外部发布 制作人 明誉 审阅人 - 文档变更记录 版本编号 日期 作者 审核人 说明 V1.0 2019/07/09 明誉 - 创建 V1.1 2019/07/24 明誉 云滴 按照验证意见进行文档修改 V1.2 2019/08/14 明誉 筱晖 文档优化 V1.3 2020/01/20 明誉 明誉 根据 ASK的最新产品情况 进行了更新 V1.4 2021/03/01 川知 明誉 文档整理优化 文档版本:20210301(发布日期) I
4基于 ASK的弹性低成本CI/CD系统 前言 前言 概述 本实践结合基于 ECI的阿里云 Serverless Kubernetes(ASK)服务以及 NAS存储服务为 用户提供高可用、弹性伸缩、扩展性好、低成本的自动化 CI/CD系统,可以为用户带来 如下价值: ⚫ 服务高可用,避免由于 Master节点单点故障导致的 CI/CD流程不可用。 ⚫ 弹性伸缩,合理利用资源,运行 Job和 Job完成以后自动构建 Jenkins Slave资源 创建和释放。 ⚫ 资源合理利用,动态分配 Slave空闲节点,避免出现由于节点资源限制导致的 Job 排队等待情况。 ⚫ 扩展性好,集群资源严重不足时,可快速添加节点资源到集群中。 应用范围 ⚫ 需要使用 Jenkins构建自身 CI/CD系统的用户。 ⚫ 对 CI/CD自动构建资源弹性、运维简便以及成本控制有要求的用户。 名词解释 ⚫ CI/CD:持续集成/持续交付,持续集成(CI)是源代码变更后自动检测、拉取、 构建单元测试的过程;持续交付(CD)会自动监测源代码变更,并通过构建、测 试、打包和相关操作运行它们,生成可部署的版本。 ⚫ ECI:弹性容器实例,是敏捷安全的 Serverless 容器运行服务,用户无需管理底 层服务器,只需要提供打包好的镜像,即可运行容器,并仅为容器实际运行消耗 的资源付费,通过 Virtual Kubelet,ECI能够无缝对接 Kubernetes。 ⚫ Serverless Kubernetes:阿里云 Serverless Kubernetes可以让用户无需管理和维 护集群与服务器,即可快速创建 Kubernetes容器应用,并且根据应用实际使用的 CPU和内存资源量进行按需付费,Serverless Kubernetes集群中 Pod基于 ECI 创建,用户可以专注于设计和构建应用程序,而不是管理运行应用程序的基础设 施。 ⚫ docker-in-docker:docker-in-docker简单来说,允许在 docker里面运行 docker, 例如大部分应用场景在 CI系统容器化后,需要在 CI系统内构建容器镜像,例如 文档版本:20210301(发布日期) III
5基于 ASK的弹性低成本CI/CD系统 前言 Jenkins对接 Kubernetes然后 Jenkins-slave以 Kubernetes内的 Pod运行实现动 态创建和删除,在这种场景下需要构建镜像时,那么就需要 Jenkins-slave能支持 docker-in-docker的方式 ⚫ Kaniko:Google开源的工具,可以不依赖 docker在用户态执行 docker的命令, kaniko可以支持在 docker-in-docker方式下 Pod可以不需要 privileged权限就可 以构建镜像,具体可以参考: https://docs.gitlab.com/ee/ci/docker/using_kaniko.html ⚫ Jenkinsfile:Jenkins Pipeline(或简称为“Pipeline”)是一套插件,将持续交付的 实现和实施集成到 Jenkins中,Jenkins Pipeline 提供了一套可扩展的工具,用于 将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline的定 义通常被写入到一个文本文件中(称为 Jenkinsfile)中,该文件可以被放入项目 的源代码控制库中。 文档版本:20210301(发布日期) IV
6基于 ASK的弹性低成本CI/CD系统 最佳实践描述 最佳实践描述 概述 目前大多数公司都会采用 Jenkins集群来搭建符合应用开发发布需求的 CI/CD系统, 客户需要构建灵活高效低成本的 CI/CD系统,满足服务高可用、弹性伸缩合理利用资 源、集群资源扩展性好等需求,基于这些需求,基于阿里云 ECI的 Serverless 阿里云 Kubernetes服务(ASK)以及 NAS存储可以帮助用户实现服务高可用、弹性伸缩、资 源扩展性好、低成本的自动化 CI/CD系统。 场景描述 客户业务场景 ⚫ 基于 Jenkins构建自动化 CI/CD集群系统 ⚫ 集群资源合理利用不浪费,控制集群资源成本 ⚫ 集群高可用 ⚫ 集群资源快速弹性伸缩 遇到的痛点 ⚫ Master节点单点故障 ⚫ 集群维护运维成本高 ⚫ 集群资源分配不均衡 ⚫ 集群资源有浪费 ⚫ 集群资源无法快速弹性伸缩 文档版本:20210301(发布日期) V
7基于 ASK的弹性低成本CI/CD系统 最佳实践描述 方案架构和优势 ⚫ 方案架构 ⚫ 方案优势 ✓ 服务高可用,不会出现 Master节点单点故障导致集群流程不可用 ✓ 弹性伸缩,合理利用资源,每次运行 Job时,自动构建 Jenkins Slave,Job完 成以后,Slave自动注销并删除容器,资源自动释放,节省成本 ✓ 资源合理利用,动态分配 Slave到空闲节点,降低出现由于节点资源限制的 Job 排队等待情况 ✓ 扩展性好,集群资源严重不足时,可以快速添加节点到集群中,降低集群资源 不足导致 Job排队等待情况 文档版本:20210301(发布日期) VI
8基于 ASK的弹性低成本CI/CD系统 目录 目录 文档版本信息 .............................................................................................................................................................. I 法律声明 ..................................................................................................................................................................... II 前言 ............................................................................................................................................................................ III 最佳实践描述 ............................................................................................................................................................. V 目录 ........................................................................................................................................................................... VII 前置条件 ..................................................................................................................................................................... 1 方案背景 ..................................................................................................................................................................... 2 1. 基于 Serverless Kubernetes的 Jenkins环境部署 ................................................................................................. 3 1.1. 创建 Serverless Kubernetes集群 ........................................................................................................ 3 1.2. 2部署 Jenkins环境 ............................................................................................................................. 7 2. CI/CD流水线应用部署模拟 ............................................................................................................................. 27 2.1. 添加全局凭据 ................................................................................................................................... 27 2.2. 创建私有镜像仓库 ........................................................................................................................... 31 2.3. 创建镜像仓库权限设置 ................................................................................................................... 35 2.4 构建 demo-pipeline部署应用 ................................................................................................................... 42 文档版本:20210301(发布日期) VII