
# 创建容器工作负载
在本章节中，您将会把应用部署到CCE中。首次使用CCE时，您需要创建一个初始集群，并添加一个节点。
![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
应用镜像上传到容器镜像服务后，部署容器应用的方式都是基本类似的。不同点在于是否需要设置环境变量，是否需要使用云存储，这些也是和业务直接相关。
#### 使用云服务
- 云容器引擎CCE：提供高可靠高性能的企业级容器应用管理服务，支持Kubernetes社区原生应用和工具，简化云上自动化容器运行环境搭建。
- 弹性云服务器ECS：一种可随时自助获取、可弹性伸缩的云服务器，帮助用户打造可靠、安全、灵活、高效的应用环境，确保服务持久稳定运行，提升运维效率。
- 虚拟私有云VPC：是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务，也可以申请弹性带宽和弹性IP搭建业务系统。
 
#### 基本概念
- 集群：集群是计算资源的集合，包含一组节点资源，容器运行在节点上。在创建容器应用前，您需要存在一个可用集群。
- 节点：节点是指接入到平台的计算资源，包括虚拟机、物理机等。用户需确保节点资源充足，若节点资源不足，会导致创建应用等操作失败。
- 容器工作负载：容器工作负载指运行在CCE上的一组实例。CCE提供第三方应用托管功能，提供从部署到运维全生命周期管理。本节指导用户通过容器镜像创建您的第一个容器工作负载。
 
#### 操作步骤
1. 创建集群前，您需要设置好如[表1]中的环境。
   
    表1准备环境列表 
   | 序列 | 类别      | 操作步骤                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|:---|
   | 1  | 创建虚拟私有云 | 您需要创建虚拟私有云，为CCE集群提供一个隔离的、用户自主配置和管理的虚拟网络环境。 若您已有虚拟私有云，可重复使用，无需多次创建。 1. 登录管理控制台。  2. 在服务列表中，选择"网络 \> 虚拟私有云 VPC"。  3. 在"总览"界面，单击"创建虚拟私有云"。  4. 根据界面提示创建虚拟私有云。如无特殊需求，界面参数均可保持默认。                                                                                           |
   | 2  | 创建密钥对   | 您需要新建一个密钥对，用于远程登录节点时的身份认证。若您已有密钥对，可重复使用，无需多次创建。 1. 登录管理控制台。  2. 在服务列表中，选择"密码安全中心 DEW"。  3. 选择左侧导航中的"密钥对管理"，选择"私有密钥对"，单击"创建密钥对"。  4. 输入密钥对名称，勾选"我同意将密钥对私钥托管"和"我已经阅读并同意《密钥对管理服务免责声明》"，单击"确定"。  5. 查看并保存私钥。为保证安全，私钥只能下载一次，请妥善保管，否则将无法登录节点。   |
      
   
   
2. 创建集群和节点。 
   1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)。在"集群管理"页面单击"购买集群"，选择需要创建的集群类型。
      填写集群参数，选择[1]中创建的VPC。具体请参见[购买CCE集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0028.html)。
      
   
   2. 购买节点，选择[1]中创建的密钥对作为登录方式。具体请参见[创建节点](https://support.huaweicloud.com/usermanual-cce/cce_10_0363.html)。
   
   
   
   
3. 部署工作负载到CCE。 
   1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，进入集群，在左侧导航栏选择"工作负载"，单击右上角的"创建工作负载"。
   
   2. 输入以下参数，其它保持默认。
      - 负载名称：apptest。
      
      - 实例数量：1。
      
      
      图1基本信息   
      ![](https://support.huaweicloud.com/bestpractice-cce/zh-cn_image_0000002013239381.png "点击放大") 
   
   3. 在"容器配置"中选择[制作并上传镜像](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0009.html)中上传的镜像。
   
   4. 在"容器配置"中选择"环境变量"，添加环境变量，用于对接MySQL数据库。此处的环境变量由[开机运行脚本](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0007.html#cce_bestpractice_0007__li12314175319811)中设置。
      ![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
      本例对接了MySQL数据库，用环境变量的方式来对接。请根据您业务的实际情况，来决定是否需要使用环境变量。
      表2配置环境变量 
      | 变量名称           | 变量/变量引用        |
      |:---|:---|
      | MYSQL_DB       | 数据库名称。         |
      | MYSQL_URL      | 数据库部署的"IP:端口"。 |
      | MYSQL_USER     | 数据库用户名。        |
      | MYSQL_PASSWORD | 数据库密码。         |
         
      
   
   5. 在"容器配置"中选择"数据存储"，为实现数据的持久化存储，需要设置为云存储。
      ![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
      本例使用了MongoDB数据库，并需要数据持久化存储，所以需要配置云存储。请根据您业务的实际情况，来决定是否需要使用云存储。
      此处挂载的路径，需要和docker开机运行脚本中的MongoDB存储路径相同，请参见[开机运行脚本](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0007.html#cce_bestpractice_0007__li12314175319811)，本例中为**/usr/local/mongodb/data**。
      图2设置云存储   
      ![](https://support.huaweicloud.com/bestpractice-cce/zh-cn_image_0000001317470926.png "点击放大") 
   
   6. 在"服务配置"中单击![](https://support.huaweicloud.com/bestpractice-cce/zh-cn_image_0000001244128658.png)添加服务，设置工作负载访问参数，设置完成后，单击"确定"。
      ![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
      本例中，将应用设置为"通过弹性公网IP的方式"被外部互联网访问。
      - Service名称：输入应用发布的可被外部访问的名称，设置为：apptest。
      
      - 访问类型：选择"节点访问"。
      
      - 服务亲和：
        - 集群级别：集群下所有节点的IP+访问端口均可以访问到此服务关联的负载，服务访问会因路由跳转导致一定性能损失，且无法获取到客户端源IP。
        
        - 节点级别：只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载，服务访问没有因路由跳转导致的性能损失，且可以获取到客户端源IP。
         
      
      - 端口配置：
        - 协议：TCP。
        
        - 服务端口：访问Service的端口。
        
        - 容器端口：容器中应用启动监听的端口，该应用镜像请设置为：8080。
        
        - 节点端口：选择"自动生成"，系统会自动在当前集群下的所有节点上打开一个真实的端口号，映射到服务端口。
         
      
      
      图3创建服务   
      ![](https://support.huaweicloud.com/bestpractice-cce/zh-cn_image_0000002013893989.png "点击放大") 
   
   7. 单击"创建工作负载"。 工作负载创建完成后，在工作负载列表中可查看到运行中的工作负载。
      
   
   
   
   
 
#### 验证工作负载
工作负载创建完成后，可以通过访问工作负载验证部署是否成功。
在上面的部署中选择节点访问方式（NodePort），使用节点的"IP:端口"访问工作负载，如果能正常访问，则说明工作负载部署成功。
访问地址可以在工作负载详情页的访问方式页签下获取。
