创建组件
约束与限制
- 同一个环境下,最多可支持创建50个应用组件,如需扩大配额请提交工单申请。
- CAE容器部署不支持arm架构的镜像。
- 新增组件时,代码源选择“镜像”>“页面上传镜像”时,单次仅支持添加1个镜像压缩包,文件大小(含解压后)不得超过 2 GB,支持 tar、tar.gz格式,仅支持上传1.11.2及以上容器引擎客户端版本制作的镜像压缩包,制作过程详见制作镜像压缩包。 如需上传大于2GB的文件,请使用“客户端上传镜像”。
- 2025年7月30日后创建的环境默认不绑定出网IP。用户在部署源码仓库来源的组件之前,需要配置出网IP,未配置出网IP会导致源码构建会失败。配置出网IP的详细操作说明请参见CAE环境访问用户侧VPC和公网。
- 创建组件选择代码源时,“源码仓库”和“软件包”为受限使用功能,需提交工单申请开通。
创建组件
- 登录CAE控制台。
- 在左侧导航栏中选择“组件列表”。
- 在页面上方的下拉框中,选择已创建的应用和环境,单击“新增组件”。
- 参考表1设置组件信息。
表1 组件基本信息 参数
类别
说明
组件名称
-
新建组件的名称。组件名称命名规则:输入4到32个字符,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
版本号
-
组件的版本号。
格式为:A.B.C或者A.B.C.D。A、B、C、D为自然数,例如:1.0.0或者1.0.0.0。
实例规格
-
选择实例规格,实例规格包括CPU规格和内存规格,不同规格的CPU配套对应不同大小的内存。例如:0.5core、1GiB;1core、1GiB;1core、2GiB;2core、4GiB。
说明:如果您的环境首次创建大规格实例,则需要更多时长配置对应配额资源,请耐心等待。
实例数量
-
实例数量默认为2,最少为1,最大值为99。
组件创建成功后,支持手动伸缩组件实例,手动伸缩的实例数范围在1至99之间。
代码源
源码仓库
该功能为受限使用功能,需提交工单申请开通。
- 选择源码来源。本服务支持识别GitHub、GitCode、GitLab和Bitbucket来源的代码。
- 将代码信息补充完整。
- 授权信息:从下拉框中选择对应的源码授权信息。如果您是首次使用该功能,在下拉框右侧单击“新建授权”,填写“授权名称”和选择“授权方式”,单击“确认”完成授权。单击“授权列表”可查看当前已创建的授权信息,选中列表前方复选框,可对已授权源码进行“重新授权”或“删除”。
- 用户名/组织:选择源码对应的用户名称或组织,用于当前项目的代码管理。
- 仓库名称:用于当前项目下各个模块代码的管理。
- 分支:选择对应的分支,用于开发对代码的管理。
- 语言/运行时:从下拉框中选择源码对应的语言格式。具体操作请参考组件说明。
- 自定义构建:构建命令可根据业务需要选择“使用默认命令或脚本”或“使用自定义命令”。
说明:
不同源码来源新建授权时授权方式不同,请按照实际情况进行选择。
- 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn clean package。
- 使用自定义命令:根据所选语言自定义构建命令;或修改build.sh文件后选择使用默认命令或脚本。
- Dockerfile:组件来源是“源码仓库”时,根据业务需要设置。支持“自定义”和“系统默认”。
说明:
仅当“运行时”选择java时,可选择“系统默认”修改系统默认dockerfile中指定运行的maven构建制品文件名。
- Dockerfile地址:当“Dockerfile”选择“自定义”时可设置。
- “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。
- Docker程序通过读取Dockerfile文件生成定制的镜像。
- dockerfile地址只能包含字母、数字及.-_/且字符长度在1~255范围内的内容。
- 如果文件名为Dockerfile,允许只填写目录地址,但目录地址必须以/结尾。
- 制品文件名:当“Dockerfile”选择“系统默认”时可设置。
maven构建生成多个jar包时,选取指定的jar包运行,以".jar"结尾,支持模糊匹配,如:demo-1.0.jar,demo*.jar
镜像
- 用户可以通过“客户端上传镜像”和“页面上传镜像”两种方式上传镜像包。
- 客户端上传镜像:选择“客户端上传镜像”时,需要以root用户登录容器引擎所在的虚拟机,获取登录访问命令,并复制到节点上执行,上传镜像。
- 页面上传镜像:选择“页面上传镜像”时,单次仅支持添加1个镜像压缩包,文件大小(含解压后)不得超过 2 GB,支持 tar、tar.gz格式,仅支持上传1.11.2及以上容器引擎。客户端版本制作的镜像压缩包,制作过程详见制作镜像压缩包。
如需上传大于 2GB的文件,请使用“客户端上传镜像”。
- 在“我的镜像”、“开源镜像”或者“共享镜像”中选择已上传的镜像包部署。可通过镜像名称搜索镜像。
- 我的镜像:用户自定义上传的镜像包。
- 开源镜像:容器镜像服务SWR中提供的开源镜像。
- 共享镜像:不同账号之间共享的镜像包。
- (可选)用户还可以通过单击“代码源”右侧链接,前往容器镜像服务SWR控制台对镜像进行更多管理操作。
需注意:
- CAE容器部署不支持arm架构的镜像。
- 选择“页面上传镜像”时,单次仅支持添加1个镜像压缩包,文件大小(含解压后)不得超过 2 GB,支持 tar、tar.gz格式,仅支持上传1.11.2及以上容器引擎。客户端版本制作的镜像压缩包,制作过程详见制作镜像压缩包。 如需上传大于 2GB的文件,请使用“客户端上传镜像”。
软件包
该功能为受限使用功能,需提交工单申请开通。
- 选择软件包的来源,来源包括“CodeArts软件发布库”、“OBS对象存储选择”和“GitHub Artifact”。
- 从“CodeArts软件发布库”选择对应软件包时,需要提前将软件包上传至软件发布库,具体操作请参考上传软件包。
- 从“OBS对象存储选择”中选择对应软件包时,需要先将软件包上传至OBS对象存储桶内,具体操作请参考上传对象。
- 从“GitHub Artifact”中选择对应软件包时,需填写授权名称,选择授权方式。授权方式可以选择OAuth和私人令牌。
说明:
私人令牌的获取方式:
- 登录GitHub的创建私人令牌页面。
- 依次单击“Generate new token > Generate new token (classic) ”。
- 在设置页面创建正确权限的私人令牌,依次勾选下列scopes:"repo"、"read:org"、"admin:repo_hook"、"admin:org_hook"、"read:user"。
- 单击“Generate token”按钮,生成私人令牌。令牌只返回一次,请记录保存好。
- 语言/运行时:从下拉框中选择软件包对应的语言格式。具体操作请参考组件说明。
- 构建方式:根据业务需要选择“系统默认”或“自定义Dockerfile”。
- 使用“系统默认”:根据语言/运行时使用默认Dockerfile构建。
- 使用“自定义Dockerfile”:根据所选语言自定义Dockerfile内容构建。
- 创建组件。
- 单击“配置组件”,进入组件配置页面,具体操作请参考组件配置。
- 单击“创建组件并部署”,在弹出的对话框中单击“立即部署”,部署组件。
- (可选)在部署组件的阶段中,您可以随时单击“终止任务”按钮来手动终止任务,此时终止任务的结果分为三个场景。
- 场景一:在构建阶段(源码/软件包的组件在部署/升级/回退阶段)单击“终止任务”后,构建任务就会被取消,不会进入到部署阶段。
例如:CompA组件为源码类型的组件,状态原本为“运行中”,现在对CompA组件进行升级操作,在等待的过程中,单击“终止任务”按钮,此时若该组件还处在“构建中”阶段,升级任务会被立刻终止,不会进入到部署阶段。
- 场景二:如果在部署阶段,组件的Deployment已经在K8s生效,此时单击“终止任务”后,Deployment的生效过程不会被终止,此时的“终止”只是退出等待,而无法阻拦Deployment在组件POD上的生效。
例如:CompB组件原本实例个数为1,现在对CompB进行组件伸缩操作,将其实例数修改为3,此时单击“终止任务”后,由于实例伸缩操作会立刻生效,此时任务处于等待新实例启动的过程,CAE上显示的任务会立刻退出,但是实际伸缩操作还在K8s上正常执行,等待一段时间后,仍旧可观察到组件实例数更新为3。
- 场景三:如果组件部署的时间比较短(例如部署的镜像启动比较快,或只对组件更改了少量配置),由于单击“终止任务”后需要等待一定时间才会生效,则无法阻拦组件部署任务。
例如:已知CompC组件的镜像启动比较快,组件部署的时间比较短。CompA组件状态原本为“运行中”,现在对CompA组件进行重启操作,在等待的过程中,单击“终止任务”按钮,因为终止任务需要一定时间才会生效,在终止任务生效之前,组件已部署完成,CompA组件的状态变为“运行中”。
- 场景一:在构建阶段(源码/软件包的组件在部署/升级/回退阶段)单击“终止任务”后,构建任务就会被取消,不会进入到部署阶段。
- 组件创建或部署完成后,在组件列表页可查看环境ID、应用ID、组件ID、组件名称,代码源、状态、实例个数、创建时间等信息。
图1 组件列表概览
- 若在组件创建后处于“未部署”状态,您可以直接在“组件列表”页面,单击列表“状态”列的“前往配置”,对组件进行配置并部署。
- 若在组件处于“运行中”状态,您可以在“组件列表”页面,单击列表“快捷跳转”列的
,对组件进行重新配置并执行生效配置。