
# 创建组件
#### 操作视频
<video controls="controls" preload="none" id="object18821758171219" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/cae-video/1687760368708316648.mp4" title="创建组件" poster="https://support.huaweicloud.com/usermanual-cae/zh-cn_image_0000001985951242.png" height="340.0000" width="600.0000"></video>
#### 约束与限制
- 同一个环境下，最多可支持创建50个应用组件，如需扩大配额请参考[关于配额](https://support.huaweicloud.com/usermanual-iaas/zh-cn_topic_0040259342.html)申请。
- CAE容器部署不支持arm架构的镜像。
- 新增组件时，代码源选择"镜像"\>"页面上传镜像"时，单次仅支持添加1个镜像压缩包，文件大小（含解压后）不得超过 2 GB，支持 tar、tar.gz格式，仅支持上传1.11.2及以上容器引擎客户端版本制作的镜像压缩包，制作过程详见[制作镜像压缩包](https://support.huaweicloud.com/usermanual-swr/swr_01_0006.html#swr_01_0006__section3433103111126)。 如需上传大于2GB的文件，请使用"客户端上传镜像"。
- 2025年7月30日后创建的环境默认不绑定出网IP。用户在部署源码仓库来源的组件之前，需要配置出网IP，未配置出网IP会导致源码构建会失败。配置出网IP的详细操作说明请参见[CAE环境访问用户侧VPC和公网](https://support.huaweicloud.com/usermanual-cae/cae_03_0065_01.html)。
- 创建组件选择代码源时，当前不支持"源码仓库"和"软件包"功能，推荐使用[CAE对接GitHub Actions实现自动CICD部署](https://support.huaweicloud.com/bestpractice-cae/cae_05_0064.html)。
 
#### 前提条件
1. 已创建环境，具体操作请参考[创建环境](https://support.huaweicloud.com/usermanual-cae/cae_03_0053.html)。
2. 已创建应用，具体操作请参考[创建应用](https://support.huaweicloud.com/usermanual-cae/cae_03_0002.html#cae_03_0002__section149231272268)。
 
#### 创建组件
1. [登录CAE控制台](https://console.huaweicloud.com/cae/)。
2. 在左侧导航栏中选择"组件列表"。
3. 在页面上方的下拉框中，选择已创建的应用和环境，单击"新增组件"。
4. 参考[表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。 组件创建成功后，支持[手动伸缩组件实例](https://support.huaweicloud.com/usermanual-cae/cae_03_0035.html)，手动伸缩的实例数范围在1至99之间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 代码源  | 源码仓库 | 当前不支持该功能，推荐使用[CAE对接GitHub Actions实现自动CICD部署](https://support.huaweicloud.com/bestpractice-cae/cae_05_0064.html)。 1. 选择源码来源。本服务支持识别CodeArts、GitHub、GitCode、GitLab、Gitee和Bitbucket来源的代码。  2. 将代码信息补充完整。 - **授权信息**：从下拉框中选择对应的源码授权信息。如果您是首次使用该功能，在下拉框右侧单击"新建授权"，填写"授权名称"和选择"授权方式"，单击"确认"完成授权。单击"授权列表"可查看当前已创建的授权信息，选中列表前方复选框，可对已授权源码进行"重新授权"或"删除"。  - **用户名/组织**：选择源码对应的用户名称或组织，用于当前项目的代码管理。  - **仓库名称**：用于当前项目下各个模块代码的管理。  - **分支**：选择对应的分支，用于开发对代码的管理。    3. 语言/运行时：从下拉框中选择源码对应的语言格式。具体操作请参考[组件说明](https://support.huaweicloud.com/usermanual-cae/cae_03_0020.html#cae_03_0020__zh-cn_topic_0208462089_section3341123774917)。  4. 自定义构建：构建命令可根据业务需要选择"使用默认命令或脚本"或"使用自定义命令"。 说明： 不同源码来源新建授权时授权方式不同，请按照实际情况进行选择。 - 使用默认命令或脚本：优先执行代码根目录下的build.sh，不存在则按照所选语言的通用方法构建，如Java：mvn clean package。  - 使用自定义命令：根据所选语言自定义构建命令；或修改build.sh文件后选择使用默认命令或脚本。    5. Dockerfile：组件来源是"源码仓库"时，根据业务需要设置。支持"自定义"和"系统默认"。 说明： 仅当"运行时"选择java时，可选择"系统默认"修改系统默认dockerfile中指定运行的maven构建制品文件名。   6. Dockerfile地址：当"Dockerfile"选择"自定义"时可设置。 - "Dockerfile地址"即Dockerfile文件相对于项目的根目录（./）所在的目录，Dockerfile文件用于镜像构建。  - Docker程序通过读取Dockerfile文件生成定制的镜像。  - dockerfile地址只能包含字母、数字及.-_/且字符长度在1\~255范围内的内容。  - 如果文件名为Dockerfile，允许只填写目录地址，但目录地址必须以/结尾。    7. 制品文件名：当"Dockerfile"选择"系统默认"时可设置。 maven构建生成多个jar包时，选取指定的jar包运行，以".jar"结尾，支持模糊匹配，如:demo-1.0.jar，demo\*.jar    |
   | 代码源  | 镜像   | 1. 用户可以通过"客户端上传镜像"和"页面上传镜像"两种方式上传镜像包。 - 客户端上传镜像：选择"客户端上传镜像"时，需要以root用户登录容器引擎所在的虚拟机，获取登录访问命令，并复制到节点上执行，上传镜像。  - 页面上传镜像：选择"页面上传镜像"时，单次仅支持添加1个镜像压缩包，文件大小（含解压后）不得超过 2 GB，支持 tar、tar.gz格式，仅支持上传1.11.2及以上容器引擎。客户端版本制作的镜像压缩包，制作过程详见[制作镜像压缩包](https://support.huaweicloud.com/usermanual-swr/swr_01_0006.html#swr_01_0006__section3433103111126)。 如需上传大于 2GB的文件，请使用"客户端上传镜像"。     2. 在"我的镜像"、"开源镜像"或者"共享镜像"中选择已上传的镜像包部署。可通过镜像名称搜索镜像。 - **我的镜像**：用户自定义上传的镜像包。  - **开源镜像**：容器镜像服务SWR中提供的开源镜像。  - **共享镜像**：不同账号之间共享的镜像包。    3. （可选）用户还可以通过单击"代码源"右侧链接，前往容器镜像服务SWR控制台对镜像进行更多管理操作。   需注意： - CAE容器部署不支持arm架构的镜像。  - 选择"页面上传镜像"时，单次仅支持添加1个镜像压缩包，文件大小（含解压后）不得超过 2 GB，支持 tar、tar.gz格式，仅支持上传1.11.2及以上容器引擎。客户端版本制作的镜像压缩包，制作过程详见[制作镜像压缩包](https://support.huaweicloud.com/usermanual-swr/swr_01_0006.html#swr_01_0006__section3433103111126)。 如需上传大于 2GB的文件，请使用"客户端上传镜像"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 代码源  | 软件包  | 当前不支持该功能，推荐使用[CAE对接GitHub Actions实现自动CICD部署](https://support.huaweicloud.com/bestpractice-cae/cae_05_0064.html)。 1. 选择软件包的来源，来源包括"CodeArts软件发布库"、"OBS对象存储选择"和"GitHub Artifact"。 - 从"CodeArts软件发布库"选择对应软件包时，需要提前将软件包上传至软件发布库，具体操作请参考[上传软件包](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0002.html)。  - 从"OBS对象存储选择"中选择对应软件包时，需要先将软件包上传至OBS对象存储桶内，具体操作请参考[上传对象](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829661.html)。  - 从"GitHub Artifact"中选择对应软件包时，需填写授权名称，选择授权方式。授权方式可以选择OAuth和私人令牌。 说明： 私人令牌的获取方式： 1. 登录GitHub的[创建私人令牌页面](https://github.com/settings/tokens)。  2. 依次单击"Generate new token \> Generate new token (classic) "。  3. 在设置页面创建正确权限的私人令牌，依次勾选下列scopes："repo"、"read:org"、"admin:repo_hook"、"admin:org_hook"、"read:user"。  4. 单击"Generate token"按钮，生成私人令牌。令牌只返回一次，请记录保存好。       2. 语言/运行时：从下拉框中选择软件包对应的语言格式。具体操作请参考[组件说明](https://support.huaweicloud.com/usermanual-cae/cae_03_0020.html#cae_03_0020__zh-cn_topic_0208462089_section3341123774917)。  3. 构建方式：根据业务需要选择"系统默认"或"自定义Dockerfile"。 - 使用"系统默认"：根据语言/运行时使用默认Dockerfile构建。  - 使用"自定义Dockerfile"：根据所选语言自定义Dockerfile内容构建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
5. 创建组件。 
   - 单击"配置组件"，进入组件配置页面，具体操作请参考[组件配置](https://support.huaweicloud.com/usermanual-cae/cae_03_0007.html)。
   
   - 单击"创建组件并部署"，在弹出的对话框中单击"立即部署"，部署组件。
   
   
   
   
6. （可选）在部署组件的阶段中，您可以随时单击"终止任务"按钮来手动终止任务，此时终止任务的结果分为三个场景。 
   - **场景一：** 在构建阶段（源码/软件包的组件在部署/升级/回退阶段）单击"终止任务"后，构建任务就会被取消，不会进入到部署阶段。
     例如：CompA组件为源码类型的组件，状态原本为"运行中"，现在对CompA组件进行升级操作，在等待的过程中，单击"终止任务"按钮，此时若该组件还处在"构建中"阶段，升级任务会被立刻终止，不会进入到部署阶段。
     
   
   - **场景二：** 如果在部署阶段，组件的Deployment已经在K8s生效，此时单击"终止任务"后，Deployment的生效过程不会被终止，此时的"终止"只是退出等待，而无法阻拦Deployment在组件POD上的生效。
     例如：CompB组件原本实例个数为1，现在对CompB进行组件伸缩操作，将其实例数修改为3，此时单击"终止任务"后，由于实例伸缩操作会立刻生效，此时任务处于等待新实例启动的过程，CAE上显示的任务会立刻退出，但是实际伸缩操作还在K8s上正常执行，等待一段时间后，仍旧可观察到组件实例数更新为3。
     
   
   - **场景三：** 如果组件部署的时间比较短（例如部署的镜像启动比较快，或只对组件更改了少量配置），由于单击"终止任务"后需要等待一定时间才会生效，则无法阻拦组件部署任务。
     例如：已知CompC组件的镜像启动比较快，组件部署的时间比较短。CompA组件状态原本为"运行中"，现在对CompA组件进行重启操作，在等待的过程中，单击"终止任务"按钮，因为终止任务需要一定时间才会生效，在终止任务生效之前，组件已部署完成，CompA组件的状态变为"运行中"。
     
   
   
   ![](https://support.huaweicloud.com/usermanual-cae/zh-cn_image_0000002346152352.png "点击放大")
   
   
7. 组件创建或部署完成后，在组件列表页可查看环境ID、应用ID、组件ID、组件名称，代码源、状态、实例个数、创建时间等信息。 
   图1组件列表概览   
   ![](https://support.huaweicloud.com/usermanual-cae/zh-cn_image_0000001892471348.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-cae/public_sys-resources/note_3.0-zh-cn.png)
   - 若在组件创建后处于"未部署"状态，您可以直接在"组件列表"页面，单击列表"状态"列的"前往配置"，对组件进行配置并部署。
   
   - 若在组件处于"运行中"状态，您可以在"组件列表"页面，单击列表"快捷跳转"列的![](https://support.huaweicloud.com/usermanual-cae/zh-cn_image_0000001662399801.png)，对组件进行重新配置并执行生效配置。
    
   
   
 
