对于容器服务构建的应用场景,例如不依赖K8s、OpenShift等容器编排的场景,您可以通过基于弹性伸缩和云效来实现容器服务发布部署管理。
前提条件
已注册阿里云账号。如果还未注册,请先注册阿里云账号。
说明如果您使用RAM用户,您还需要为RAM用户授予镜像服务的权限。具体操作,请参见配置仓库的RAM访问控制。
已开通容器镜像服务ACR企业版。更多信息,请参见创建企业版实例。
已开通弹性伸缩服务。更多信息,请参见管理弹性伸缩服务关联角色。
已开通云效服务功能。更多信息,请参见快速登录/创建企业。
背景信息
您可以通过弹性伸缩和云效对容器服务进行发布部署管理。其中,弹性伸缩和云效产品分别提供以下不同能力,具体说明如下:
弹性伸缩提供了弹性管理能力。
例如,使用该产品可以实现容器实例的分组管理、弹性伸缩、滚动升级等功能,方便您弹性管理容器服务场景的应用。
云效提供了一站式管理服务能力。
例如,使用该产品可以一键进行代码编译、测试、镜像构建、镜像上传、伸缩配置镜像更新等,方便您快捷地管理容器服务场景的应用。
概念介绍
概念 | 说明 |
是云原生时代一站式BizDevOps平台,产研数字化同行者,支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力数字化转型企业快速实现产研数字化能力。 | |
是一款企业级、自动化的持续集成和持续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线的CI/CD全流程。 | |
是敏捷安全的Serverless容器运行服务。您无需管理底层服务器,也无需关心运行过程中的容量规划,只需要提供打包好的Docker镜像,即可运行容器,并仅为容器实际运行消耗的资源付费。 | |
是面向容器镜像、Helm Chart等符合OCI标准的云原生制品安全托管及高效分发平台。 |
步骤一:创建阿里云容器镜像仓库
登录容器镜像服务控制台。
创建容器镜像实例。
在顶部菜单栏,选择地域。
在实例列表页面,单击创建企业版实例。
说明本步骤以创建企业版实例为例,关于企业版实例与个人版实例的区别,更多信息,请参见个人版实例与企业版实例差异化说明。
在容器镜像服务页面,完成参数配置,然后单击立即购买。
主要配置项参数说明如下所示,其他参数保持默认值。
配置项
说明
示例
实例规格
选择实例规格。
基础版
实例名称
输入实例名称。
eci-autoscaling
购买时长
目前支持选择1个月、2个月、3个月、6个月和1~5年。
说明您还可以设置是否到期自动续费。
1个月
在确认订单页面,确认订单并选中我已阅读并同意容器镜像服务服务协议,单击去支付。
在支付页面底部查看实例的总费用,如无疑问,根据提示完成支付。
返回管理控制台后,在实例列表页面,您可以看到新建企业版实例的运行状态为启动中。
说明首次购买企业版实例时,请您耐心等待大约2到3分钟后,待企业版实例启动完成(即状态变为运行中)后,再进行后续操作。
单击已创建的企业版实例(eci-autoscaling),进入实例概览页面。
在左侧导航栏,选择 ,然后单击创建镜像仓库。
在创建镜像仓库页面的仓库信息区域,完成相关参数配置,单击下一步。
主要参数配置项说明如下所示,其余参数项保持默认即可。
配置项
说明
示例
命名空间
如果未创建命名空间,先创建后再选择该命名空间。具体操作,请参见步骤二:创建命名空间。
eci_autoscaling_namespace
仓库名称
长度为2~120个字符,由小写英文字母、数字、分隔符、下划线(_)、短划线(-)、半角句号(.)、正斜线(/)组成。
eci_autoscaling_repo
仓库类型
支持公开和私有两种仓库类型。
私有
摘要
简要描述创建镜像仓库的用途即可。
test
在代码源区域,代码源选择本地仓库,然后单击创建镜像仓库。
在镜像仓库的基本信息页面,单击公网地址后的请先开启访问控制的网络入口。
在实例的访问控制页面,单击公网页签,开启访问入口,然后单击确定。
开启公网访问入口默认会添加一条白名单,且仅白名单内地址能够访问实例的公网域名。
在默认添加的白名单的操作列,单击删除。
删除该默认白名单后,公网下的服务器均可以通过凭证访问企业版实例。例如,后续云效通过访问该地址来构建上传镜像。
步骤二:通过云效服务创建流水线
登录云效流水线控制台。
首次登录控制台时,根据页面提示创建企业(企业名称以eci_autoscaling_example为例)。
在我的流水线页面,单击新建流水线。
说明首次登录云效流水线控制台时,您也可以在弹出的流水线对话框,单击立即新建来新创建流水线。
在选择流水线模板页面,根据您的开发语言和部署场景,选择合适的流水线模板,单击创建完成一条流水线创建。
本步骤以选择Java · 测试、构建镜像为例。
在页面左上方,设置流水线名称为构建镜像流水线,再单击添加流水线源并完成代码源相关参数,然后单击添加。
本步骤以代码源选择示例代码源,代码类型选择JAVA为例。
在构建镜像区域,单击阿里云镜像构建,单击编辑面板中的图标,然后单击确定。
在构建镜像区域,阿里云镜像构建默认为阿里云镜像构建个人版。因为步骤一:创建阿里云容器镜像仓库中创建的镜像为企业版,所以您需要先删除阿里云镜像构建个人版,然后再创建阿里云镜像构建企业版。
在新阶段区域,单击新的任务,在弹出的面板左侧,选择 ,在编辑面板的任务步骤区域,单击镜像构建并推送至阿里云镜像仓库企业版,配置如下参数。
参数示例如下图所示:
单击保存并运行,在弹出的运行配置对话框,单击运行。
运行大约需要2~3分钟时间,请您耐心等待。阿里云镜像企业版构建完成后,如下图所示:
进入已创建的企业版实例(eci-autoscaling)页面,选择 ,单击镜像仓库(eci_autoscaling_repo)对应操作列的管理。
在左侧导航栏,单击镜像版本,确认镜像已构建成功。
步骤三:基于构建镜像创建ECI类型伸缩组
- 登录弹性伸缩控制台。
创建ECI类型伸缩组。
具体操作,请参见创建伸缩组。
本步骤中主要配置参数说明如下:
配置项
说明
示例
伸缩组名称
无。
eci_scaling_group
伸缩组类型
支持ECS和ECI两种类型。
ECI
组内实例配置信息来源
伸缩组创建完成后,您需要继续创建伸缩配置。
从零开始创建
组内最小实例数
当前实例数量低于下限时,伸缩组会自动添加实例,使得伸缩组内的实例数量等于下限。
1
组内最大实例数
当前实例数量超过上限时,伸缩组会自动移出实例,使得伸缩组内的实例数量等于上限。
2
专有网络
选择已创建的专有网络。
vpc-bp1jmxxau0lur929p****
选择交换机
选择专有网络后必须选择交换机。
vsw-bp155oak33mqngov2****
创建并启动伸缩配置。
具体操作,请参见创建伸缩配置(ECI实例)。
本步骤中主要配置参数说明如下:
配置项
说明
示例
选择容器上运行的镜像。
容器镜像:单击选择容器镜像,然后单击企业镜像页签,选择步骤二:通过云效服务创建流水线中构建的企业镜像。
eci-autoscaling-***_repo
选择容器上运行的镜像版本。
eci_autoscaling_****_01
启用ECI类型伸缩组。
具体操作,请参见启用或停用伸缩组。
查看ECI实例的镜像信息。
在实例列表下的自动创建页签中,单击已创建的ECI实例ID进入ECI实例页面,您可以在该ECI实例对应的镜像列下查看ECI实例的镜像信息。
说明因为步骤2中伸缩组设置的最小实例数为1,所以伸缩组启用后系统会自动创建1台ECI实例。
步骤四:通过云效实现伸缩组发布部署
登录云效流水线控制台。
在我的流水线页面,找到已创建的镜像流水线,选择 ,然后单击确定复制原有构建的镜像。
单击复制后的镜像流水线,并单击右上角的编辑,然后修改镜像流水线名称为构建镜像并发布伸缩组流水线。
在新阶段区域,单击新的任务。
在弹出的左侧面板,选择 。
在编辑面板,选择新创建的伸缩组(eci_scaling_group),选择对应的容器名称和部署镜像地址。
具体参数示例如下图所示:
单击保存并运行,在弹出的运行配置对话框,单击运行。
在部署区域下,单击发布单详情,查看执行结果。
查看ECI实例镜像和伸缩组镜像配置已更新。
在弹性容器实例页面的事件页签下,您可以查看到ECI实例镜像已更新。
在伸缩配置页面的容器配置区域,您可以查看到伸缩组镜像配置已更新。