
# 使用CCI部署静态Web应用
本节通过在云容器实例上部署一个名称为2048的静态Web游戏应用为例，帮助您学习如何使用云容器实例。
您将按以下流程学习如何使用云容器实例。
#### 介绍视频
<video controls="controls" preload="none" id="object1111613362583" class="idp-external-video" src="https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/cci-video/DeployingStaticWeb.mp4" title="使用CCI部署静态Web应用" poster="https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002516418705.jpg" height="300.0000" width="600.0000"></video>
#### 操作流程
| 操作步骤                                                       | 说明                                                                                                                                                                                                                    |
|:---|:---|
| [准备工作]                   | - 您需要注册华为账号，并为账户充值。  - 如需使用ccictl工具方式部署静态Web应用可提前下载相关工具。   |
| [步骤一：构建镜像并上传至SWR镜像仓库] | 将应用构建镜像并上传镜像仓库，便于在云容器实例创建负载时，拉取上传的镜像。                                                                                                                                                                                 |
| [步骤二：创建命名空间]          | 您需要在CCI服务中创建一个命名空间，便于项目管理。                                                                                                                                                                                            |
| [步骤三：购买云服务VPCEP]       | 您需要购买并创建云服务VPCEP，以便在VPC内访问华为云100网段的后端服务。                                                                                                                                                                              |
| [步骤四：创建容器组]             | 配置基本信息和访问信息。                                                                                                                                                                                                          |
| [步骤五：访问容器组]            | 通过公网IP访问已创建的负载。                                                                                                                                                                                                       |
| [步骤六：清理资源]              | 如果您在完成实践后不需要继续使用CCI，请及时清理资源以免产生额外扣费。                                                                                                                                                                                  |
   
 #### 准备工作
- 在开始操作前，请您先注册华为账号并完成实名认证，详情请参见[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)和[个人实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0077914254.html)。
- 请您保证账户有足够的资金，以免创建集群失败，具体操作请参见[账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
- 您可以通过控制台或使用ccictl工具部署静态Web应用，如果使用ccictl工具，请下载并配置ccictl工具，具体操作步骤请参考[ccictl配置指南](https://support.huaweicloud.com/devg-cci2/cci_ccictl_02.html)。
 
 #### 步骤一：构建镜像并上传至SWR镜像仓库
要将已有的应用部署在云容器实例上运行，首先，需要将应用构建镜像并上传镜像仓库，然后在云容器实例创建负载时，拉取上传的镜像。
#### 安装容器引擎
上传镜像前，您需要安装容器引擎，如果您已经安装了容器引擎，请确保容器引擎为**1.11.2**及以上版本。
1. 参考[购买弹性云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)创建一台带有公网IP地址的Linux弹性云服务器。
   
   作为演示，弹性云服务器和公网IP的规格不需要太高，例如弹性云服务器的规格为"1vCPU \| 2GiB"、公网IP带宽为"5 Mbit/s"即可，操作系统请选择"Ubuntu 24.04"。
   ![](https://support.huaweicloud.com/qs-cci2/public_sys-resources/note_3.0-zh-cn.png)
   您也可以使用其他机器安装容器引擎，不创建弹性云服务器。
   
   
2. 返回弹性云服务器列表，单击"远程登录"登录购买的弹性云服务器。
3. 使用如下命令快速安装容器引擎。 
   ```
   sudo apt-get update && sudo apt-get install -y docker.io
   sudo systemctl daemon-reload
   sudo systemctl restart docker
   sudo systemctl enable docker
   ```
   
   
4. 安装完成后执行docker -v验证，显示类似如下版本号，说明安装成功。 
   ```
   docker -v
   Docker version 29.1.3, build 29.1.3-0ubuntu324.04.2
   ```
   
   
 
#### 构建镜像
此处以如何使用Dockerfile，并使用nginx为基础镜像构建镜像**2048**为例。在构建镜像之前，需要先创建Dockerfile文件。
1. 从镜像仓库拉取nginx镜像，作为基础镜像： 
   当您执行 docker pull 命令后，屏幕上会出现多行下载状态，下载可能由于网络原因会花费几分，请耐心等待。当最后一行出现Downloaded newer image for nginx:1.23.0时，即代表拉取成功！
   ```
   docker pull nginx:1.23.0
   ```
   ![](https://support.huaweicloud.com/qs-cci2/public_sys-resources/note_3.0-zh-cn.png)
   由于网络限制，直接拉取官方镜像可能会失败。此时可以先配置华为云专属的SWR 镜像加速器后再拉取官方镜像，具体请参见[设置镜像加速器](https://support.huaweicloud.com/usermanual-swr/swr_01_0045.html)。
   
   
2. 下载2048静态页面应用： 
   ```
   git clone https://gitee.com/jorgensen/2048.git
   ```
   
   
3. 构建Dockerfile。 
   1. 输入命令：
      ```
      vi Dockerfile
      ```
      
   
   2. 编辑Dockerfile文件内容：
      ```
      FROM nginx:1.23.0
      COPY 2048 /usr/share/nginx/html
      EXPOSE 80
      ```
      - **nginx:1.23.0**为基础镜像，基础镜像可根据创建的应用类型进行选择，例如创建的是Java应用，基础镜像可选择Java镜像。
      
      - **/usr/share/nginx/html**为nginx存放Web静态页面的路径。
      
      - **80**为容器端口。
      
      
      ![](https://support.huaweicloud.com/qs-cci2/public_sys-resources/note_3.0-zh-cn.png)
      Dockerfile内容格式，详情请参考[Dockerfile reference](https://docs.docker.com/engine/reference/builder/)。
      
   
   
   
   

4. 构建镜像2048。 
   1. 输入命令：
      ```
      docker build -t='2048' .
      ```
      创建镜像成功，如下图：
      图1成功构建镜像   
      ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002665910725.png) 
   
   
   
   2. 查询镜像：
      ```
      docker images
      ```
      显示如下图，说明镜像构建成功：
      图2查询镜像   
      ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002218307445.png) 
   
   
   
   
 
#### 上传镜像
1. 连接容器镜像服务。
   
   1. 登录管理[控制台](https://console.huaweicloud.com)，展开"服务列表"，选择"容器服务 \> 容器镜像服务"。
   
   2. 在左侧菜单栏选择"我的镜像"，单击右侧"客户端上传"，在弹出的页面中单击"生成临时登录指令"，单击![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002218193005.png)复制登录指令。注意登录指令的最后一部分（例如： swr.xx-xxxxx-4.xxxxxxxxxcloud.com ），这就是您的专属**镜像仓库地址** ，留存后续操作使用。
      ![](https://support.huaweicloud.com/qs-cci2/public_sys-resources/note_3.0-zh-cn.png)
      此处生成的临时登录指令有效期为24小时，若需要长期有效的登录指令，请参见[获取长期有效登录指令](https://support.huaweicloud.com/usermanual-swr/swr_01_1000.html)。
      
   
   3. 在安装容器引擎的机器中执行上一步复制的登录指令。 登录成功会显示"login succeeded"。
      
   
   
   
   
2. 上传镜像。 
   1. 在安装容器引擎的机器给2048镜像打标签。 **docker tag** \[*镜像名称:版本名称* \] \[*镜像仓库地址* \]/\[*组织名称* \]/\[*镜像名称:版本名称*\]
      样例如下：
      **docker tag 2048:latest swr.cn-north-4.myhuaweicloud.com/** **cloud-develop** **/2048** :**latest**
      其中：
      - swr.cn-north-4.myhuaweicloud.com为容器镜像服务的镜像仓库地址，参考[1]获取。
      
      - cloud-develop为镜像的组织名称。在SWR控制台左侧导航栏单击 "组织管理 \> 创建组织"，在当前页面选择已有组织或新建组织并记录名称。
      
      - 2048:latest为镜像名称和版本号。
       
   
   2. 上传镜像至镜像仓库。 **docker push** \[*镜像仓库地址* \]/\[*组织名称* \]/\[*镜像名称:版本名称*\]
      样例如下：
      **docker push** **swr.cn-north-4.myhuaweicloud.com/** **cloud-develop** **/2048** :**latest**
      终端显示如下信息，表明上传镜像成功。
      ```
      6d6b9812c8ae: Pushed 
      695da0025de6: Pushed 
      fe4c16cbf7a4: Pushed 
      v1: digest: sha256:eb7e3bbd8e3040efa71d9c2cacfa12a8e39c6b2ccd15eac12bdc49e0b66cee63 size: 948
      ```
      返回容器镜像服务控制台，在"我的镜像"页面，执行刷新操作后可查看到对应的镜像信息。
      
   
   
   
   
 
 #### 步骤二：创建命名空间
- 通过控制台创建命名空间webapp。
1. 登录[云容器实例 CCI2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
2. 左侧导航栏中选择"命名空间"。
3. 进入命名空间页面，单击右侧"创建命名空间"。
4. 基本信息。 
   
   | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 命名空间 | 您可以通过创建不同的命名空间来实现部分环境隔离。 - 命名空间名称在云容器实例中需全局唯一。  - 请输入1到63个字符的字符串，可以包含小写英文字母、数字和中划线（-），并以小写英文字母或数字开头，小写英文字母或数字结尾。   |
   | 企业项目 | 选择或新建企业项目。该参数仅对开通企业项目的企业客户账号显示。选择某个企业项目后，命名空间的安全组将会创建在该企业项目下。您可以通过企业项目服务（EPS）管理命名空间及其他资源。了解更多企业项目相关信息，请查看[企业管理](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0123692049.html)。                                                                                                                                                                                                                                                                                                |
      
   
   
5. 监控配置(可选)。 
   
   | 参数        | 说明             |
   |:---|:---|
   | 对接AOM(可选) | 开启后可选择对接AOM实例。 |
      
   
   
6. 网络平面配置。 
   表1网络平面配置 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 启用IPv6 | 开启后支持IPv4/IPv6双栈协议网络。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 虚拟私有云  | 选择云容器实例所在的虚拟私有云VPC，如果没有可选项可以单击右侧"新建虚拟私有云"创建。创建后不可修改。 建议使用网段：10.0.0.0/8\~22，172.16.0.0/12\~22，192.168.0.0/16\~22。 须知： - 此处VPC和子网的网段不能为10.247.0.0/16，10.247.0.0/16是云容器实例预留给负载访问的网段。如果您使用此网段，后续可能会造成IP冲突，导致负载无法创建或服务不可用；如果您不需要通过负载访问，而是直接访问Pod，则可以使用此网段。  - 命名空间创建完成后，在"命名空间 \> 子网"中可查看到VPC和子网信息。                                                                                                                               |
   | 子网     | 选择子网，如果没有可选项可以单击右侧"新建子网"创建。创建后子网不可修改。 - 创建的namespace会在设置的子网中预热部分IP，默认个数为10个。  - 在[高级设置]中可以设置预热的个数。  - 创建namespace后，由于预热了部分IP，会影响设置的subnet和VPC的删除，需要删除namespace之后才能正常删除对应的subnet和VPC。   说明： 您需要关注子网的可用IP数，确保有足够数量的可用IP，如果没有可用IP，则会导致负载创建失败。 |
   | 安全组    | 选择已有安全组作为该命名空间下安全组，如果没有可选项可以单击右侧"创建安全组"创建。创建后不可修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
      
   
   
7. 高级设置（可选）。
   
   每个命名空间下都提供了一个IP池，申请IP需要一段时间，如果需要快速创建负载，减少IP的申请时间，可通过自定义资源池大小来实现。
   例如，某业务线日常的负载数为200，当达到流量高峰时，IP资源池会自动扩容，瞬间将IP资源池扩容到65535（IP资源池大小），同时会在回收间隔23h（IP资源池回收间隔）之后，进行回收超过资源池大小的部分即（65535-200=65335）个。
   表2高级设置**（可选）** 
   | 参数               | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 预热 IP 资源池大小（个）   | - 为每个命名空间预热一个 IP 池，用来加速容器组创建。  - 预热IP资源池的大小不能超过65535个。  - 使用通用型pod规格时，建议根据业务配置合理的预热IP资源池大小，以加快负载启动速度。  - 请合理配置预热IP数量，如配置IP数量过大，可能出现预热IP资源池大于子网可用IP数，导致子网IP被耗尽，进而影响用户使用其他服务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 预热 IP 资源池回收间隔（h） | IP 资源池弹性扩容出来的空闲 IP 资源，在一定时间内可进行回收。 说明： 网卡回收机制： - 回收时间要求：根据network上配置的 yangtse.io/warm-pool-recycle-interval（单位小时）时间，控制该网卡是否能够完成回收。如 yangtse.io/warm-pool-recycle-interval 配置为 24，则回收的网卡必须已经申请了超过24小时后才会被回收。  - 回收速率：内部维持一个合理的速率，按照每次最多50个网卡的速率进行回收，避免回收过快或频繁回收导致网卡的重复创建和删除动作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 标签               | 为命名空间添加标签，用于资源的**分类标识** 与**集中管理**。通过标签，您可以在拥有大量资源时快速筛选出特定命名空间，实现统一的查看与维护。 如需了解更多标签相关内容，请参阅[标签管理介绍](https://support.huaweicloud.com/productdesc-tms/zh-cn_topic_0071335169.html)。 参数规则： - 标签键：不能为空。可以包含任意语种的字母、数字和空格，以及_.:=+-@字符，但首尾不能包含空格，且不能以_sys_开头。  - 标签值：可以包含任意语种的字母、数字和空格，以及_.:/=+-@字符。  - 限制：最多添加 20 个标签。  - CCI 1.0与CCI 2.0中即使存在同名命名空间，它们在CCI内部互相独立，但标签会基于名称进行同步，因此任一版本更新的标签会同步到另一版本的同名命名空间。   **编辑标签**： - 方式一：在命名空间列表中，将鼠标移至指定命名空间"标签"列的![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002523430431.png)上方，单击"编辑标签"，编辑完成后单击"确定"。  - 方式二：在命名空间列表中，单击操作列的"编辑"，编辑完成后单击"确定"。   |
      
   
   
8. 单击"确定"。 
   创建完成后，可以在命名空间详情中看到VPC、子网等信息。
   系统默认在命名空间下创建用户授权访问周边服务的认证信息，加密存储在aksk-secret密钥中，加解密物料存储在system-preset-aeskey配置中。以上资源均为系统使用，不建议用户配置使用，已在前端界面隐藏，用户可调用API查看。
   
   
- 通过ccictl工具创建命名空间webapp和对应的网络，完成工具配置后执行以下步骤：
1. 创建命名空间： 
   ```
   ccictl create namespace webapp
   ```
   ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002254005333.png)
   
   
2. 创建命名空间对应的网络，yaml示例如下： 
   ```
   apiVersion: yangtse/v2
   kind: Network
   metadata:
     annotations:
       yangtse.io/domain-id: <domain_id> # 账号ID
       yangtse.io/project-id: <project_id> # 项目ID
     name: cci-network
     namespace: webapp
   spec:
     networkType: underlay_neutron
     securityGroups:
       - <security_group_id> # 安全组ID
     subnets:
       - subnetID: <subnet_id> # 子网ID
   ```
   ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002254116857.png)
   
   
 
 #### 步骤三：购买云服务VPCEP
最终租户VPC内访问华为云100网段后端服务，需要借助云服务的VPCEP完成。
- 根据当前SWR企业仓库实现，需要购买OBS VPCEP，才能完成镜像拉取动作。
- 根据当前SWR公共镜像仓库的实现，需要在负载所关联的VPC内同时购买SWR VPCEP和OBS VPCEP，才能完成镜像拉取的动作。
 
1. 进入[终端节点列表页](https://console.huaweicloud.com/vpc/?locale=zh-cn#/ep/list)。
2. 购买SWR VPCEP。 
   1. 在"终端节点"列表页，单击"购买终端节点"。 进入"购买终端节点"页面。
      
   
   2. 参考[表3]，根据界面提示配置参数。
      图3购买SWR VPCEP   
      ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002478309897.png "点击放大")
       表3SWR VPCEP配置参数 
      | **参数** | **示例**                                                             | **说明**                                                                                                                                                                                                                                                                                                                                    |
      |:---|:---|:---|
      | 区域     | **华北-北京四**                                                         | 终端节点所在区域。选择[步骤二：创建命名空间]所在的区域。 不同区域的资源之间内网不互通。请选择靠近您的区域，可以降低网络时延、提高访问速度。                                                                                                                                                                                               |
      | 计费方式   | **按需计费**                                                           | 按需计费是后付费模式，按终端节点的实际使用时长计费，可以随时开通/删除终端节点。 仅支持按需计费。                                                                                                                                                                                                                                                           |
      | 服务类别   | **云服务**                                                            | 选择"云服务"。                                                                                                                                                                                                                                                                                                                                  |
      | 选择服务   | **-**                                                              | 若"服务类别"设置为"云服务"，则会出现该参数。 搜索"swr"，勾选对应的SWR服务名称。                                                                                                                                                                                                                                                              |
      | 服务名称   | **-**                                                              | 若"服务类别"设置为"按名称查找服务"，则会出现该参数。                                                                                                                                                                                                                                                                                                              |
      | 虚拟私有云  | **-**                                                              | 请选择[步骤二：创建命名空间]中配置的虚拟私有云。                                                                                                                                                                                                                                                                            |
      | 子网     | **-**                                                              | 请选择[步骤二：创建命名空间]配置的子网。                                                                                                                                                                                                                                                                                |
      | 路由表    | **-**                                                              | 当创建连接"网关"类型终端节点服务的终端节点时，则会出现该参数。 说明： 该参数仅在开放区域可见。 建议选择所有路由表，否则可能导致网络无法访问。 根据实际需求选择终端节点所属的虚拟私有云的路由表。 添加路由的详细操作请参考《虚拟私有云用户指南》中的"[添加自定义路由](https://support.huaweicloud.com/usermanual-vpc/vpc_route01_0006.html)"。 |
      | 策略     | **-**                                                              | 终端节点策略。 终端节点策略是一种基于资源的策略，您可以附加到VPC终端节点，以控制哪些主体可以使用该终端节点访问终端节点服务。                                                                                                                                                                                                                                            |
      | 标签     | **example_key1** **example_value1** | 您按需为终端节点绑定标签，标签可用来分类和标识资源。 终端节点购买连接完成后支持修改该参数。                                                                                                                                                                                                                                                               |
      | 描述     | **-**                                                              | 终端节点描述内容。                                                                                                                                                                                                                                                                                                                                 |
         
      表4终端节点标签命名规则 
      | 参数 | 规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      |:---|:---|
      | 键  | - 不能为空。  - 对于同一资源键值唯一。  - 长度不超过128个字符。  - 取值为不包含"="、"\*"、"\<"、"\>"、"\\"、","、"\|"、"/"的所有Unicode字符，且首尾字符不能为空格。  - 取值可以包含任意语种字母、数字、空格和_ . : = + - @，且首尾不能含有空格，不能以_sys_开头。   |
      | 值  | - 可以为空。  - 长度不超过255个字符。  - 取值为不包含"="、"\*"、"\<"、"\>"、"\\"、","、"\|"、"/"的所有Unicode字符，且首尾字符不能为空格。  - 取值可以包含任意语种字母、数字、空格和_ . : / = + - @，且首尾不能含有空格。                                                                                                                                                               |
         
      
   
   3. 参数配置完成，单击"立即购买"，进行规格确认。
      - 规格确认无误，单击"提交"，任务提交成功。
      
      - 参数信息配置有误，需要修改，单击"上一步"，修改参数，然后单击"提交"。
       
   
   
   
   
3. 购买OBS VPCEP。 
   1. 在"终端节点"列表页，单击"购买终端节点"。 进入"购买终端节点"页面。
      
   
   2. 参考[表5]，根据界面提示配置参数。
      图4购买OBS VPCEP   
      ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002445068350.png "点击放大")
      
       表5OBS VPCEP配置参数 
      | **参数** | **示例**                                                              | **说明**                                                                                                                                                                                                                                                                                                                                      |
      |:---|:---|:---|
      | 区域     | **华北-北京四**                                                          | 终端节点所在区域。选择[步骤二：创建命名空间]所在的区域。 不同区域的资源之间内网不互通。请选择靠近您的区域，可以降低网络时延、提高访问速度。                                                                                                                                                                                                   |
      | 计费方式   | **按需计费**                                                            | 按需计费是后付费模式，按终端节点的实际使用时长计费，可以随时开通/删除终端节点。 仅支持按需计费。                                                                                                                                                                                                                                                               |
      | 服务类别   | **按名称查找服务**                                                         | 选择"按名称查找服务"，服务名称请向OBS提交工单获取。输入服务名称后，单击"验证"确认服务名称正确。                                                                                                                                                                                                                                                                                         |
      | 虚拟私有云  | **-**                                                               | 请选择[步骤二：创建命名空间]配置的虚拟私有云。                                                                                                                                                                                                                                                                               |
      | 子网     | **-**                                                               | 请选择[步骤二：创建命名空间]配置的子网。                                                                                                                                                                                                                                                                                  |
      | 路由表    | **-**                                                               | 当创建连接"网关"类型终端节点服务的终端节点时，则会出现该参数。 说明： 该参数仅在开放区域可见。 建议选择所有路由表，否则可能导致网络无法访问。 根据实际需求选择终端节点所属的虚拟私有云的路由表。 添加路由的详细操作请参考《虚拟私有云用户指南》中的"[添加自定义路由](https://support.huaweicloud.com/usermanual-vpc/vpc_route01_0006.html)"。 |
      | 策略     | **-**                                                               | 终端节点策略。 终端节点策略是一种基于资源的策略，您可以附加到VPC终端节点，以控制哪些主体可以使用该终端节点访问终端节点服务。                                                                                                                                                                                                                                               |
      | 标签     | **example_key1** **example_value1** | 您按需为终端节点绑定标签，标签可用来分类和标识资源。 终端节点购买连接完成后支持修改该参数。                                                                                                                                                                                                                                                                 |
      | 描述     | **-**                                                               | 终端节点描述内容。                                                                                                                                                                                                                                                                                                                                   |
         
      表6终端节点标签命名规则 
      | 参数 | 规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      |:---|:---|
      | 键  | - 不能为空。  - 对于同一资源键值唯一。  - 长度不超过128个字符。  - 取值为不包含"="、"\*"、"\<"、"\>"、"\\"、","、"\|"、"/"的所有Unicode字符，且首尾字符不能为空格。  - 取值可以包含任意语种字母、数字、空格和_ . : = + - @，且首尾不能含有空格，不能以_sys_开头。   |
      | 值  | - 可以为空。  - 长度不超过255个字符。  - 取值为不包含"="、"\*"、"\<"、"\>"、"\\"、","、"\|"、"/"的所有Unicode字符，且首尾字符不能为空格。  - 取值可以包含任意语种字母、数字、空格和_ . : / = + - @，且首尾不能含有空格。                                                                                                                                                                   |
         
      
   
   3. 参数配置完成，单击"立即购买"，进行规格确认。
      - 规格确认无误，单击"提交"，任务提交成功。
      
      - 参数信息配置有误，需要修改，单击"上一步"，修改参数，然后单击"提交"。
       
   
   
   
   
4. 任务提交成功，返回终端节点列表。
5. 单击终端节点ID，即可查看终端节点的详细信息。
 
 #### 步骤四：创建容器组
- 通过控制台创建容器组：
  1. 登录[云容器实例 CCI2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
  
  2. 左侧导航栏中选择"负载管理"，单击右侧"容器组"，再单击"YAML创建"。 ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002206733558.png "点击放大")
     
     
  
  
  
  3. 添加基本信息，yaml示例如下：
     ```
     apiVersion: cci/v2
     kind: Pod
     metadata:
       labels:
         app: webapp-2048
       name: webapp-2048
       namespace: webapp
     spec:
       containers:
         - image: swr.cn-north-4.myhuaweicloud.com/cloud-develop/2048:latest # 上传的镜像
           name: webapp-2048
           ports:
             - containerPort: 80
               protocol: TCP
           resources:
             limits:
               cpu: 500m
               memory: 1Gi
             requests:
               cpu: 500m
               memory: 1Gi
       dnsPolicy: Default
       imagePullSecrets:
         - name: imagepull-secret
     ```
     
   
- 通过ccictl工具创建容器组。将上述yaml保存为pod.yaml并执行以下命令：
  ```
  ccictl apply -f pod.yaml
  ```
  ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002218998370.png)
  
 
 #### 步骤五：访问容器组
- 通过控制台配置服务访问容器组：
  1. 左侧导航栏中选择"服务管理"，再单击右侧"YAML创建"。 ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002243770073.png "点击放大")
     
     
  
  2. 创建Load Balancer类型的服务，使用的ELB需包含公网IP，yaml示例如下：
     ```
     kind: Service
     apiVersion: cci/v2
     metadata:
       name: service-2048
       namespace: webapp  #请替换为实际命名空间名称
       annotations:
         kubernetes.io/elb.class: elb
         kubernetes.io/elb.id: <elb_id> # 使用的ELB需要包含公网IP
     spec:
       ports:
         - name: service-port
           protocol: TCP
           port: 80
           targetPort: 80
       selector:
         app: webapp-2048
       type: LoadBalancer
     ```
     
   
- 通过ccictl配置服务。保存上述yaml为service.yaml并执行命令：
  ```
  ccictl apply -f service.yaml
  ```
  ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002253971273.png "点击放大")
  
容器组和服务创建成功后，您可以使用浏览器通过 http://\<ELB绑定的公网IP\>/ 访问您的Web应用。当界面显示2048游戏，说明创建成功，
 #### 步骤六：清理资源
- 使用云容器实例管理控制台，执行以下清理CCI服务资源：
  1. 登录[云容器实例 CCI2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
  
  2. 左侧导航栏中选择"负载管理 \> 容器组"。
  
  3. 选择需要删除的容器组，在对应容器组右侧操作列单击"删除"。
     ![](https://support.huaweicloud.com/qs-cci2/public_sys-resources/note_3.0-zh-cn.png)
     如需删除CCI服务所绑定的ELB，请前往云容器实例 CCI2.0控制台先删除"网络管理"中所创建的服务，然后前往弹性负载均衡控制台删除弹性负载均衡。
     
   

- 使用ccictl，执行如下命令清理CCI服务资源：
  ```
  ccictl delete -f service.yaml
  ccictl delete -f pod.yaml
  ccictl delete namespace webapp
  ```
  ![](https://support.huaweicloud.com/qs-cci2/zh-cn_image_0000002253969241.png "点击放大")
  
 
