容器交付流水线
产品介绍
文档版本 01
发布日期 2020-08-25
版权所有 © 华为技术有限公司 2020。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 约束与限制... 1
2 什么是容器交付流水线...2
3 产品优势...5
4 基本概念...7
5 权限管理...8
6 与其他云服务的关系... 10
产品介绍 目 录
1 约束与限制
因业务调整,容器交付流水线(ContainerOps)功能暂停开通,如您在2020-06-25之 前已经开通了流水线功能,则可以继续使用。为您带来不便,敬请谅解。
配额
容器镜像服务对单个用户的软件仓库数量限定了配额,配额的详细信息请参见关于配 额。
当前容器镜像服务的配额如表1-1所示。如果您需要添加更多的组织或镜像版本,请提 交工单申请。
表1-1 容器镜像服务配额
资源类型 配额
软件仓库数量 10
产品介绍 1 约束与限制
2 什么是容器交付流水线
容器交付流水线(ContainerOps)以DevOps理念为基础,面向从源代码到生产上线全 流程,提供代码编译、镜像构建、灰度发布、容器化部署等一系列服务,助力企业落 地容器DevOps最佳实践。ContainerOps解决了容器化场景下从源码到镜像构建、镜像 部署过程中的问题,进一步提升了研发、部署和运维效率。
图2-1 容器交付流水线
产品功能
提供容器化场景下的全流程CI/CD能力
ContainerOps提供容器化场景下的全流程CI/CD(持续集成/持续发布)能力,通过使 用系统内置流水线或自定义流水线实现从源码到镜像构建、镜像部署的容器化流水线 能力。
支持对接源码托管网站构建镜像
ContainerOps支持对接DevCloud、GitHub、GitLab、Gitee构建容器镜像,
ContainerOps构建出的镜像存储在容器镜像服务中,可使用存储的镜像进行镜像部 署。
提供灰度发布模式
ContainerOps提供灰度发布模式,您在正式升级现网版本之前,可以对业务集群的部 分实例进行升级、验证,验证通过后再正式发布。
产品介绍 2 什么是容器交付流水线
图2-2 灰度发布
支持alpha-beta-gamma端到端敏捷交付
ContainerOps支持alpha-beta-gamma端到端敏捷交付,支持一套软件版本使用不同 的配置,自动发布到alpha-beta-gamma环境中。每一条流水线独立管理一个(微)
服务的生命周期,减少了跨(微)服务、跨DC/Region的操作耦合。
图2-3 alpha-beta-gamma 端到端敏捷交付
产品介绍 2 什么是容器交付流水线
支持对接企业研发平台
ContainerOps提供全功能API,企业可自行对接内部研发平台,统一研发流程的管理入 口,确保企业已有研发及流程操作习惯不变,复用已有资源,节约建设成本。
图2-4 对接企业研发平台
产品介绍 2 什么是容器交付流水线
3 产品优势
简单易用
ContainerOps提供向导式使用体验,内置多种典型CI/CD流水线,开通服务即可使 用,无需自行搭建环境。
镜像快速交付
● ContainerOps支持一站式代码编译、镜像构建、存储、部署、发布,降低了应用 容器化改造和交付的难度。
● ContainerOps支持“研发-测试-类生产-生产”等多项目协同部署,实现了研发- 交付全流程自动化,确保了部署版本的一致性,提升了持续交付效率。
开放式架构
ContainerOps各能力部件解耦,并提供Restful API,用户可以根据需要在已有系统中 集成所需功能,将传统线下业务流程与云上连通,在不改变开发和运维操作习惯的前 提下,完成容器化能力集成。
镜像加速
ContainerOps智能调度全球构建节点,根据所使用的镜像地址自动分配至最近的主机 节点进行构建,可以拉取国外镜像;根据负载自动分配到空闲节点,可以加速镜像的 获取和构建效率。
产品介绍 3 产品优势
图3-1 全球构建节点
产品介绍 3 产品优势
4 基本概念
DevOps
DevOps是一种新的软件工程理念,DevOps中的Dev指的Development(开发),Ops 指的是的Operations(运维)。DevOps打破了传统软件工程方法中“开发->测试->运 维”的割裂模式,强调端到端快速、一致的交付流程。DevOps的核心思想是加强开 发、测试、运维的配合,提升软件生产效率,缩短产品上市时间。
流水线
流水线定义了应用程序的持续集成和部署的过程,它将定义好的任务用流程串接起 来。您可以在流水线中设置镜像构建、灰度发布和镜像部署等任务。
镜像(Image)
容器镜像是一个模板,是容器应用打包的标准格式,在部署容器化应用时可以指定镜 像,镜像可以来自于镜像中心或者用户的私有Registry。例如一个容器镜像可以包含一 个完整的Ubuntu操作系统环境,里面仅安装了用户需要的应用程序及其依赖文件。容 器镜像用于创建容器。容器引擎本身提供了一个简单的机制来创建新的镜像或者更新 已有镜像,您也可以下载其他人已经创建好的镜像来使用。
容器(Container)
一个通过容器镜像创建的运行实例,一个节点可运行多个容器。容器的实质是进程,
产品介绍 4 基本概念
5 权限管理
如果您需要对华为云上购买的容器交付流水线(ContainerOps)资源,给企业中的员 工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务 提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源 的访问。
通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制他们对华为云资源 的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有容器交付流水 线(ContainerOps)的使用权限,但是不希望他们拥有删除ContainerOps等高危操作 的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用
ContainerOps,但是不允许删除ContainerOps的权限,控制他们对ContainerOps资源 的使用范围。
如果华为云账号已经能满足您的使用要求,不需要创建独立的IAM用户进行权限管 理,您可以跳过本章节,不影响您使用ContainerOps服务的其它功能。
IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的 资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》。
说明
容器交付流水线与容器镜像服务(SWR)使用的系统策略相同,详细介绍参见ContainerOps权 限。
ContainerOps 权限
默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户 组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。
授权后,用户就可以基于被授予的权限对云服务进行操作。
ContainerOps部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要 选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)
中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则 该权限在所有区域项目中都生效。访问ContainerOps时,需要先切换至授权区域。
如表5-1所示,包括了ContainerOps的所有系统权限。
产品介绍 5 权限管理
表5-1 ContainerOps 系统权限
策略名称 描述 策略类别
SWR Admin 容器交付流水线的管理员权限,拥有该服务下 的所有权限。
系统角色
Tenant
Administrator 容器交付流水线的管理员权限,拥有该服务下 的所有权限。
系统策略
Tenant Guest 容器交付流水线的开发者权限,拥有查看流水 线等权限。
系统策略
SvcStg
Developer 容器交付流水线的开发者权限,拥有查看流水 线等权限。
系统角色
相关链接
● IAM产品介绍
● 创建用户并授权使用ContainerOps
产品介绍 5 权限管理
6 与其他云服务的关系
ContainerOps需要与其他云服务协同工作,ContainerOps和其他云服务的关系如图 6-1。
图6-1 ContainerOps 和其他云服务的关系
● 云容器引擎
云容器引擎(Cloud Container Engine,简称CCE)提供高可靠高性能的企业级容 器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运 行环境搭建。
ContainerOps能无缝对接CCE,您可以将ContainerOps中的镜像部署到CCE中。
● 云容器实例
产品介绍 6 与其他云服务的关系
云容器实例(Cloud Container Instance, 简称CCI)服务提供 Serverless
Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行 容器。
ContainerOps能无缝对接CCI,您可以将ContainerOps中的镜像部署到CCI中。
● 云性能测试服务
云性能测试服务(Cloud Performance Test Service,简称CPTS)可以为构建的云 应用提供性能测试,具备强大的分布式压测能力。
ContainerOps可调用CPTS接口,在流水线的测试步骤中进行性能测试。
● 应用编排服务
应用编排服务(Application Orchestration Service,简称AOS)可以帮助您将应 用一键式部署到华为云上,简化相关云服务管理操作。AOS通过模板来描述和编 排应用及相关云服务,实现自动化部署应用、创建云服务,提供E2E应用全生命周 期运维管控能力。
ContainerOps可调用AOS接口,在流水线的镜像部署步骤中执行模板部署创建 AOS堆栈。
● 软件开发服务
软件开发服务DevCloud是集华为近30年研发实践、前沿研发理念、先进研发工具 为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时随 地在云端进行项目管理、代码托管、代码检查、流水线、编译、构建、部署、测 试、发布等,让开发者快速而又轻松地开启云端开发之旅。
ContainerOps能对接软件开发服务,提供代码管理、研发工具等全流程的DevOps 能力。ContainerOps的CI/CD流程,结合DevCloud的IDE以及代码托管能力,完成 了从代码管理到最终容器化交付的ContainerOps全流程能力覆盖。ContainerOps 结合DevCloud的虚机应用部署能力,用户可以通过DevCloud平台完成一套代码同 时在虚机和容器中部署,对于大多数容器化转型过程的用户十分方便。
产品介绍 6 与其他云服务的关系