
# 部署AI应用模板
#### 简介
AI应用模板是基于华为云CCE（云容器引擎）"AI推理框架插件"打造的便捷化模型部署工具。
传统的AI大模型部署往往涉及复杂的容器配置、硬件资源（GPU/NPU）调度、网络网关设置以及存储挂载等繁琐步骤。为了大幅降低大模型部署的门槛，现为您提供了一键式的推理预置模板：
- 预置配置：底层已内置针对主流AI模型（如DeepSeek-R1）的预定义配置，涵盖运行参数、NPU资源需求及硬件适配。
- 极简操作：只需通过可视化前端界面，选择模板并简单配置，即可快速将大模型转化为高可用、低延迟的API推理服务。
 
#### 核心优势
- 开箱即用：无需编写复杂的Kubernetes YAML文件，参数已针对昇腾（Ascend）底层硬件进行深度适配与优化。
- 一键部署：通过前端UI勾选即可完成从模型加载、资源调度到服务拉起的全生命周期管理。
- 高并发低延迟：底层自动结合vLLM等高性能执行引擎，提供生产级别的推理能力。
 
#### 前提条件
在开始部署前，请确保满足以下条件：
- 集群准备：已创建v1.28及以上版本的CCE Standard或CCE Turbo集群。
- 依赖插件：集群已安装1.21.7及以上版本的**Volcano调度器**插件。
- 网络访问：推理节点需可访问外网，以便拉取镜像和模型，请参见[配置公网访问](https://support.huaweicloud.com/bestpractice-eip/eip_bestpractice_0001.html)。
 
#### 操作步骤
1. 进入AI应用模板页签。 
   1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)。
   
   2. 在左侧导航栏中选择"AI容器"，单击"AI应用模板"页签。
   
   
   
   
2. 在"AI应用模板"页签，选择需要部署的模板（本文选择的是DeepSeek-R1-Distill-Qwen-1.5B ），然后单击"部署"。
3. 在部署应用页面，配置以下参数。 
   表1基础配置 
   | 参数         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   |:---|:---|
   | **应用名称**   | 部署的AI应用唯一标识符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | **AI应用模板** | 预定义的应用模板。 选择此应用模板将决定模型类型（如DeepSeek-R1模型）及部署架构（如vLLM PD分离）。 注意： 切换应用模板会导致已填写的部分关联数据被更改或清空，请谨慎操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | **镜像**     | 使用第三方镜像时，需确保实例可访问公网。当第三方镜像仓库支持公网访问时，Pod可以通过公网拉取镜像。此时，需确保**Pod具备访问公网的能力**。您可以通过以下方式，确保Pod具备访问公网的能力： 说明： 当使用公网访问方式拉取镜像时，请确保EIP的带宽充足，以避免因带宽不足导致镜像拉取失败或拉取速度过慢。 - 为集群配置SNAT规则（Standard/Turbo集群）：配置SNAT规则后，集群中的Pod实例都将具备访问公网的能力。此时，创建新的工作负载，可以直接通过公网拉取镜像。具体操作步骤，请参见[从容器访问公网](https://support.huaweicloud.com/usermanual-cce/cce_10_0400.html)。  - 为节点绑定弹性公网IP（Standard集群）：为工作负载运行的节点绑定弹性公网IP（EIP）。绑定EIP后，该节点上所有工作负载都能够访问公网。具体操作步骤，请参见[绑定弹性公网IP](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0174917535.html)。   当前预置适配华为昇腾（Ascend）NPU的vLLM推理引擎镜像（v0.13.0）。 |
   | **集群名称**   | 选择需要部署服务的集群。该集群需预装Volcano调度器及NPU设备插件，否则任务提交后将部署失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | **命名空间**   | 选择用于部署该推理服务的命名空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | **实例数**    | 指定需要部署的推理服务实例数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
4. （可选）配置角色信息。推理负载通过Role（角色） 组织容器，实现分布式推理。每个Role包含且仅包含一个Entry节点，以及多个Worker节点。 
   表2角色配置 
   | 参数           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | **角色名称**     | 自定义标识，创建后不可修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | **角色副本数**    | 该角色在部署时需要创建的实例数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | **entry容器**  | entry容器为角色的入口节点，每个Role仅包含一个entry实例，负责接收推理请求并统筹该角色下的计算任务。 - 容器名称：默认为container-entry，用于标识容器职责。  - 资源配额：如果默认配置不满足您的实际需求，可单击![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002659338762.png)图标，调整CPU、内存及NPU等资源。  - 启动命令：容器启动时执行的操作，用于定义容器的主进程，其运行状态直接决定容器的生命周期，详情请参见[启动命令](https://support.huaweicloud.com/usermanual-cce/cce_10_0105.html#cce_10_0105__section54912655316)。  - 端口：填写容器提供服务的端口号。                                                                                                           |
   | **worker容器** | worker容器为角色的工作节点，每个Role可包含多个worker实例，负责响应entry调度并执行实际推理任务。 - worker副本数：同一个推理服务组内该角色的实例数量。通过灵活调整不同角色的副本数，可以实现算力的最优配比。  - 容器名称：默认为container-worker。  - 容器配置：当选择**"配置与entry容器一致"** 时，除容器名称外都会复用entry容器配置。您也可以选择**"自定义配置** **"**，独立配置资源、启动命令与端口。  - 启动命令：容器启动时执行的操作，用于定义容器的主进程，其运行状态直接决定容器的生命周期，详情请参见[启动命令](https://support.huaweicloud.com/usermanual-cce/cce_10_0105.html#cce_10_0105__section54912655316)。  - 端口：填写容器提供服务的端口号。   |
      
   
   
5. （可选）填写高级配置。 
   表3高级配置 
   | 参数              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|
   | **推理引擎自定义指标采集** | 开启后，云原生监控插件将会自动采集推理实例相关指标。将会自动为Pod打上云原生监控插件所需要的Annotations，方便采集相关推理实例相关指标，具体配置详见[使用云原生监控插件监控自定义指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0373.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | **升级策略**        | 指定负载的升级方式： - 不配置：不使用升级策略。  - 配置： - 分区更新（partition）：用于灰度发布，控制升级的ServingGroup分组。 设置为0时，表示全量升级所有的ServingGroup；设置为N（N\>0）时，仅升级序号 ≥ N的ServingGroup。   - 最大不可用数目（maxUnavailable）：升级期间允许同时不可用的Pod数量，用于控制服务可用性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | **调度策略**        | 支持以下调度策略： - Gang调度：确保一组Pod（如分布式任务的多个角色）同时调度成功或失败。 - 不配置：不使用Gang调度。  - 角色最小副本数：定义角色的最小副本数，调度器在资源满足时才会调度Pod。    - 拓扑感知调度 - 不配置：不使用拓扑感知调度。  - 配置：支持选择推理实例亲和和推理角色亲和。 - 推理实例亲和tier：ServingGroup实例调度亲和tier层级，例如，希望配置PD分离组在同一通信域内。  - 角色实例内亲和tier：Role实例调度亲和tier层级，例如，希望配置entry和多个worker组成的分布式推理实例在同一通信域内。       |
   | **容忍策略**        | 与节点的污点能力配合使用，允许（不强制）负载调度到带有与之匹配的污点的节点上，也可用于控制负载所在的节点被标记污点后负载的驱逐策略，详情请参见[设置容忍策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0728.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | **标签与注解**       | 以键值对形式为工作负载Pod添加标签或注解。关于标签与注解的作用及配置说明，请参见[设置标签与注解](https://support.huaweicloud.com/usermanual-cce/cce_10_0386.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | **描述**          | 填写推理负载的说明信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
      
   
   
6. 确认配置信息无误后，单击"提交"。 
   在"推理负载"页面，可查看处于"部署中"状态的推理负载。
   
   
7. 配置Service，访问部署的模型。本文以节点访问为例，在选择器中将modelserving.volcano.sh/name设置为推理负载名称，modelserving.volcano.sh/role设置为proxy，并将容器端口和服务端口均设置为8181。更多信息请参见[节点访问（NodePort）](https://support.huaweicloud.com/usermanual-cce/cce_10_0142.html)。
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002583698304.png "点击放大")
   
   
   
8. 验证模型。通过向Service暴露的端口发送标准POST请求，验证模型是否正常运行。 
   ```
   curl -X POST http://<节点IP>:<节点端口>/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "ds_r1",
        "messages": [
          {
            "role": "user",
            "content": "Hello, how are you?"
          }
        ],
        "max_tokens": 100
      }'
   ```
   若部署成功，应返回包含choices和message字段的JSON数据，且content字段中包含模型的回复。
   ```
   {
     "id": "chatcmpl-753ceb4c-7aa5-4a4f-94b5-dc791c*****",
     "object": "chat.completion",
     "created": 1779936213,
     "model": "ds_r1",
     "choices": [
       {
         "index": 0,
         "message": {
           "role": "assistant",
           "content": "Alright, someone just said \"Hello, how are you?\" I should respond in a friendly and approachable way.\n\nI need to keep it simple and open-ended to encourage them to share more.\n\nMaybe ask them how they're doing or if they have any questions they want to discuss.\n\nThat should make the conversation feel natural and helpful.\n</think>\n\nHello! I'm just a computer program, so I don't have feelings, but thanks for asking! How can I assist you today?",
           "refusal": null,
           "annotations": null,
           "audio": null,
           "function_call": null,
           "tool_calls": [],
           "reasoning": null,
           "reasoning_content": null
         },
         "logprobs": null,
         "finish_reason": "stop",
         "stop_reason": null,
         "token_ids": null
       }
     ],
     "service_tier": null,
     "system_fingerprint": null,
     "usage": {
       "prompt_tokens": 11,
       "total_tokens": 109,
       "completion_tokens": 98,
       "prompt_tokens_details": null
     },
     "prompt_logprobs": null,
     "prompt_token_ids": null,
     "kv_transfer_params": null
   }
   ```
   
   
 
