# 通过模板部署应用
在CCE控制台上，您可以上传Helm模板包，然后在控制台安装部署，并对部署的实例进行管理。
#### 约束与限制
- 单个用户可以上传模板的个数有限制，请以各个Region控制台界面中提示的实际值为准。
- CCE使用的Helm版本为v3.8.2，支持上传Helm v3版本语法的模板包。
- 模板若存在多个版本，则消耗对应数量的模板配额。
- 由于模板的操作权限同时具有较高的集群操作权限，因此租户应当谨慎授予用户对于模板生命周期管理的权限，包括上传模板的权限，以及创建、删除和更新模板实例的权限。
 
#### 模板包规范
以下以redis为例，在准备redis模板包时根据模板包规范制作模板包。
- **命名要求**
  模板包命名格式为：**{name}-{version}** .tgz，其中**{version}**为版本号，格式为"主版本号.次版本号.修订号"，如redis-0.4.2.tgz。
  ![](https://support.huaweicloud.com/usermanual-cce-autopilot/public_sys-resources/note_3.0-zh-cn.png)
  模板名称{name}的长度不能超过64个字符。
  版本号需遵循[语义化版本](https://semver.org/lang/zh-CN/)规则。
  - 主版本号、次版本号为必选，修订号为可选。
  
  - 主版本号、次版本号、修订号的数值为整数，均需要≥0，且≤99。
    
- **目录结构**
  模板包的目录结构如下所示：
  ```
  redis/
    templates/
    values.yaml
    README.md
    Chart.yaml
    .helmignore
  ```
  目录说明如[表1]所示，带\*的为必选项：
   表1模板包目录说明 
  | 参数               | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  |:---|:---|
  | \* templates    | 用于存放所有的template（模板）文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | \* values.yaml | 用于描述template文件所需的配置参数。 须知： 定义template文件配置参数时，请注意此处定义的"镜像地址"务必和容器镜像仓库中对应的镜像地址保持一致。否则创建工作负载会异常，提示镜像拉取失败。 镜像地址获取方法如下：在[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击左侧导航栏的"镜像仓库"，进入容器镜像服务控制台。在"我的镜像 \> 自有镜像"中，单击已上传镜像的名称，在"镜像版本 "页签的"下载指令"栏中即可获取镜像地址，单击![](https://support.huaweicloud.com/usermanual-cce-autopilot/zh-cn_image_0000001859778821.png)按钮即可复制该指令。                                                                                                                                                     |
  | README.md       | 一个markdown文件，包括： - 描述Chart提供的工作负载或服务。  - 运行Chart的前提。  - 解释values.yaml文件中的配置。  - 安装和配置Chart的相关信息。   |
  | \* Chart.yaml   | 模板的基本信息说明。 注：Helm v3版本apiVersion从v1切换到了v2。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | .helmignore     | 设定在工作负载安装时不需要读取templates的某些文件或数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     
  
 
#### 上传模板
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"应用模板"，在右上角单击"上传模板"。
3. 单击"添加文件"，选中待上传的工作负载包后，单击"上传"。 
   图1上传模板包   
   ![](https://support.huaweicloud.com/usermanual-cce-autopilot/zh-cn_image_0000002636115306.png "点击放大")
   
   
 
#### 创建模板实例
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"应用模板"。
3. 在"我的模板"页签中，单击目标模板下的"安装"。
4. 参照[表2]设置安装模板参数。
   
    表2安装模板参数说明 
   | 参数      | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 实例名称    | 新建模板实例名称，命名必须唯一。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 命名空间 | 指定部署的命名空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 选择版本                       | 选择模板的版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 配置文件    | 用户可以导入values.yaml文件，导入后可替换模板包中的values.yaml文件；也可直接在配置框中在线编辑模板参数。 说明： 此处导入的values.yaml文件需符合yaml规范，即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致，否则不会生效。即key不能修改。 1. 单击"添加文件"。  2. 选择对应的values.yaml文件，单击"打开"。   |
      
   
   
5. 配置完成后，单击"安装"。 
   在"模板实例"页签下可以查看模板实例的安装情况。
   
   
 
#### 升级通过模板部署的应用
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"应用模板"，在右侧选择"模板实例"页签。
3. 单击待升级模板实例后的"升级"，设置升级模板实例的参数。
4. 选择要升级的模板版本。
5. 参照界面提示修改模板参数。单击"升级"。 
   模板实例列表中，执行状态为"升级成功"时，表明模板实例升级成功。
   
   
 
#### 回退通过模板部署的应用
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"应用模板"，在右侧选择"模板实例"页签。
3. 单击待回退模板实例后的"回退"，选择要回退的模板版本，单击"回退"。 
   模板实例列表中，执行状态为"回退成功"时，表明模板实例回退成功。
   
   
 
#### 卸载通过模板部署的应用
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"应用模板"，在右侧选择"模板实例"页签。
3. 单击待卸载模板实例后的"更多 \> 卸载"，确认待卸载模板实例后，单击"是"。模板实例卸载后不能恢复，请谨慎操作。
 
