
# 创建API的负载通道（可选）
负载通道主要用于将服务通过API网关开放给外部访问。它的优势在于使用VPC的内部子网通信，网络时延更低，同时负载通道具有负载均衡功能（服务器通道类型），以及自动同步服务节点变更的能力（微服务通道类型）和使用已有的负载通道能力（引用负载通道类型），从而实现后端服务的负载均衡或自动同步服务节点的变更或重复使用负载通道。
创建负载通道后，在创建API且后端服务类型为HTTP\&HTTPS时，后端服务地址可以直接使用已创建的负载通道。
例如，负载中包含6台ECS，已创建一条负载通道，其中ECS 01和ECS 04已添加到负载通道中，此时API网关通过负载通道可以直接访问负载中的ECS 01和ECS 04。
图1通过API网关访问负载通道中的ECS   
![](https://support.huaweicloud.com/usermanual-apig/zh-cn_image_0000001278830029.png "点击放大")
#### 操作视频
本视频演示如何创建不同类型的负载通道。
因产品功能演进，操作界面可能存在差异，相关视频仅供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="object141911228134812" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/apig-video/1748497881430261403.mp4" title="创建负载通道" poster="https://support.huaweicloud.com/usermanual-apig/zh-cn_image_0000002314512962.jpg" height="300.0000" width="600.0000"></video>
#### 费用说明
创建微服务类型负载通道时，需要购买集群，计费详情请参考[云容器引擎计费说明](https://support.huaweicloud.com/price-cce/cce_03_0003.html)。
#### 注意事项
- 创建**服务器** 通道类型需注意以下事项：
  API网关与负载通道中的服务器之间网络互通。
  
- 创建**微服务** 通道类型需注意以下事项：
  - 仅支持华为云CCE Turbo集群、VPC网络模型的CCE集群。
  
  - 您需要确保当前实例与CCE集群所属同一个VPC中，或通过其他方式保证两者网络可达，否则创建后调用API会失败。
  
  - 选择VPC网络模型的CCE集群时，您需要在实例详情界面的路由配置中添加CCE集群的容器网段，否则创建后调用API会出现失败场景。
  
  - 创建微服务类型的负载通道后，负载通道会监测工作负载下所有实例的地址变化，并更新到负载通道中。
  
  - 创建微服务类型的负载通道时，如果该CCE集群未被当前实例下其他负载通道关联，即首次关联该CCE集群，API网关会使用您当前用户去申请访问CCE集群的证书，后续对该用户的CCE权限的变动，可能会导致监测功能异常，请务必谨慎操作。
   
 
#### 前提条件
- 用户需要具备VPC Administrator角色权限。
- 如果通道类型为**服务器**，已创建云服务器。
- 如果通道类型为**微服务** ，[已创建集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0028.html)，集群类型为CCE集群（VPC网络模型）或Turbo集群，并且[已创建工作负载](https://support.huaweicloud.com/usermanual-cce/cce_10_0673.html)。
  - 已创建的工作负载需配置Pod标签，在[微服务配置]时可通过Pod标签来指定工作负载，如用于工作负载服务的版本区分等。具体操作请参考[标签与注解](https://support.huaweicloud.com/usermanual-cce/cce_10_0386.html)章节。
    - 在CCE控制台通过"创建负载"方式创建工作负载时，配置Pod标签。进入创建工作负载页面，在"高级配置 \> 标签与注释 \> Pod标签"区域配置即可。
    
    - 在CCE控制台通过"YAML创建"方式创建工作负载时，配置Pod标签。例如"app=service01"
      ```
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: 'service01'
      ```
      
     
  
  - 如果当前实例不支持微服务通道类型，请联系技术支持工程师升级实例到最新版本。
   
 
#### 创建负载通道
1. 进入[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)页面。
2. 根据实际业务在左侧导航栏上方选择实例。
3. 在左侧导航栏选择"API管理 \> API策略"。

4. 单击"负载通道"页签，进入到负载通道列表页面。
5. 单击"创建负载通道"，根据下表参数说明，配置基本信息。 
   表1基本信息配置 
   | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 通道名称 | 自定义负载通道名称，用于识别不同的负载通道。支持中文、英文、数字、下划线、中划线、点，且只能以英文和中文开头，长度为3\~64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 端口   | 负载通道中主机的端口号，即用户的后端业务端口号。 取值范围为1\~65535。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 分发算法 | 通过分发算法确定请求被发送到哪台主机。 分发算法包含如下几种： - 加权轮询：结合弹性服务器权重值，将请求轮流转发到每一台服务器。  - 加权最少：结合弹性服务器权重值，将请求转发到具有最少活跃连接数的那台服务器。  - 源地址哈希：由请求的来源IP地址决定请求被转发到哪一台云服务器，相同源地址的请求始终会转发到同一台服务器，除非该云服务器不可用。   - URI哈希：由请求的路径决定请求被转发到哪一台云服务器，相同路径的请求始终会转发到同一台服务器，除非该云服务器不可用。   |
   | 通道类型 | API的请求被分发到哪类后端服务，当前支持以下通道类型。 - 选择服务器类型，API的请求将被分发到通道中的弹性云服务器或指定的服务器IP，具体操作请参见[6]。  - 选择微服务类型，API的请求将被分发到通道中的微服务IP，具体操作请参见[7]。  - 选择引用负载通道，可以引用其他已有的负载通道，具体操作请参见[8]。                                                                                                                                                                              |
      
   
   
6. 选择通道类型为服务器时，配置通道内服务器。
   
   ![](https://support.huaweicloud.com/usermanual-apig/public_sys-resources/note_3.0-zh-cn.png)
   负载通道支持私网ELB，可通过指定服务器地址配置。
   - 选择云服务器。
     1. 单击"创建服务器分组"。
        根据下表参数说明，在弹窗中填写服务器分组信息，单击"确定"。
         表2服务器分组配置 
        | 参数   | 说明                                                                                                                           |
        |:---|:---|
        | 分组名称 | 填写服务器分组的名称，根据规划自定义。建议您按照一定的命名规则填写分组名称，方便您快速识别和查找。 支持中文、英文、数字、下划线、中划线、点，且只能以英文和中文开头，长度为3\~64个字符。 |
        | 权重   | 填写服务器分组的权重值，权重值越大，转发到该分组下服务器的请求数量越多。默认为1，取值范围为0\~100。                                                                        |
        | 描述   | 填写分组的描述信息。长度为1\~255个字符。                                                                                                      |
           
        
     
     2. 单击"添加云服务器"。 在弹窗中，选择子网并勾选要添加的云服务器，单击"确定"。
        
     
     3. 配置完成后，进行[健康检查配置]。
      
   
   - 指定服务器地址。
     1. 单击"创建服务器分组"。 在弹窗中填写服务器分组信息，单击"确定"。配置参数请参考[表2]。
        
     
     2. 单击"添加后端服务器地址"，根据下表参数说明，在列表中填写后端服务器地址。
        表3后端服务器配置 
        | 参数      | 说明                                                                            |
        |:---|:---|
        | 后端服务器地址 | 填写后端服务器的IP地址。                                                                 |
        | 是否备用节点  | 开启后对应后端服务器为备用节点，仅当非备用节点全部故障时工作。                                               |
        | 端口      | 填写后端服务器的访问端口号。端口为0时，使用负载通道的端口。 取值范围为0\~65535。 |
        | 启停状态    | 选择是否启用服务器，只有启用后，请求才会分发到该服务器上。                                                 |
           
        
     
     3. 配置完成后，进行[健康检查配置]。
      
   
   
   
   
7. 选择通道类型为微服务时，配置微服务和服务器分组。
   
   1. 根据下表参数说明，配置微服务信息。
       表4云容器引擎微服务配置 
      | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      |:---|:---|
      | 微服务类型  | 默认云容器引擎CCE类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
      | 集群     | 选择集群，可单击"查看云容器引擎CCE"查看。 已创建的CCE集群与API网关实例属于同一个VPC，或者二者之间通过对等连接等方式保证网络可达。通过同一个VPC（有扩展网段等）、对等连接等方式连接网络时，需要在控制台将CCE集群详情中的"容器网段"添加到API网关实例详情中的"路由"上，否则会导致API网关到容器网络不通。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 命名空间   | 选择CCE集群的命名空间。命名空间是对一组资源和对象的抽象整合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 工作负载类型 | 工作负载是在Kubernetes上运行的应用程序。在Kubernetes中，工作负载是对一组Pod的抽象模型，用于描述业务的运行载体，包括Deployment、StatefulSet和DaemonSet类型。 - 无状态负载 Deployment：在运行中始终不保存任何数据或状态的工作负载称为无状态负载 。  - 有状态工作负载 Statefulset：在运行过程中会保存数据或状态的工作负载称为有状态工作负载。  - 守护进程集 DaemonSet：守护进程集可以确保全部（或者某些）节点上仅运行一个Pod实例，当有节点加入集群时，也会为其新增一个Pod 。 当有节点从集群移除时，这些Pod会被回收。 说明： 删除DaemonSet将会删除它创建的所有Pod。    更多工作负载详情请参考[工作负载概述](https://support.huaweicloud.com/usermanual-cce/cce_10_0006.html)章节。 |
      | 服务标识名  | 选择工作负载的Pod标签，通过Pod标签指定某个工作负载。服务标识名为Pod标签的键，服务标识值为Pod标签的值。 Pod标签相关内容指导，请参考[标签与注解](https://support.huaweicloud.com/usermanual-cce/cce_10_0386.html)章节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      | 服务标识值  | 选择工作负载的Pod标签，通过Pod标签指定某个工作负载。服务标识名为Pod标签的键，服务标识值为Pod标签的值。 Pod标签相关内容指导，请参考[标签与注解](https://support.huaweicloud.com/usermanual-cce/cce_10_0386.html)章节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
         
      
   
   2. 配置服务器分组。
      单击"添加服务器分组"，根据下表参数说明，配置信息。
      表5云容器引擎微服务的服务器分组配置 
      | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      |:---|:---|
      | 服务器分组名称 | 默认为服务标识值，用户也可根据业务需求修改。支持中文、英文、数字、下划线、中划线、点，且只能以英文和中文开头，长度为3\~64个字符。                                                                                                                                                                                                                                                                                                                                                                          |
      | 权重分配    | 填写服务器分组的权重值，权重值越大，转发到该分组下服务器的请求数量越多。默认为1，取值范围为0\~100。 **分发算法**选择哈希算法时，权重默认为1，且不支持修改。                                                                                                                                                                                                                                                                                                                           |
      | 后端服务端口  | 后端服务器的访问端口号。不指定端口号或端口号为0时，默认使用负载通道的端口号。 取值范围为0\~65535。                                                                                                                                                                                                                                                                                                                                                        |
      | 描述      | 填写服务器分组的描述信息。长度为1\~255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                   |
      | 标签      | 选择工作负载的Pod标签。如果服务标识名和服务标识值不唯一，且不能指定某个工作负载时，还可以通过选择其他Pod标签指定某个工作负载。 例如，工作负载01和工作负载02的app相同，可通过选择version或test_name区分工作负载01或工作负载02。 工作负载01： ``` spec: replicas: 2 selector: matchLabels: app: 'app01' version: 'v1' ``` 工作负载02： ``` spec: replicas: 2 selector: matchLabels: app: 'app01' test_name: 'test_value' ``` |
         
      
   
   3. 配置完成后，进行[健康检查配置]。
   
   
   
   
8. 选择通道类型为引用负载通道时，根据下表参数说明，配置服务器分组。
   
   表6服务器分组配置 
   | 参数       | 说明                                                                                                                  |
   |:---|:---|
   | 服务器分组名称  | 根据规划自定义。建议您按照一定的命名规则填写分组名称，方便您快速识别和查找。 支持中文、英文、数据、下划线、中划线、点，且只能以英文和中文开头，取值范围为3\~64字符。  |
   | 权重分配     | 填写服务器分组的权重值，权重值越大，转发到该分组下服务器的请求数量越多。默认：1，取值范围为0\~100。 **分发算法**选择哈希算法时，权重默认为1，且不支持修改。 |
   | 被引用的负载通道 | 选择需要引用的负载通道。                                                                                                        |
   | 描述       | 填写分组的描述信息。长度为1\~255个字符。                                                                                             |
      
   配置完成后，进行[健康检查配置]。
   
   
9. 配置健康检查。
   
   表7基本信息配置 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                             |
   |:---|:---|
   | 协议      | 使用以下协议，对负载中主机执行健康检查。 - TCP  - HTTP  - HTTPS   默认为TCP协议。 |
   | 双向认证    | **仅在协议为"HTTPS"时，需要设置。** 开启后，API网关将认证API后端服务。双向认证所需的证书配置说明，请参考[配置参数](https://support.huaweicloud.com/usermanual-apig/apig_03_0039.html#apig_03_0039__section31331424142717)章节。                                                                                                  |
   | 路径      | **仅在协议为"HTTP"或"HTTPS"时，需要设置。** 健康检查时的目标路径。                                                                                                                                                                                                                                        |
   | 请求类型    | 发送请求时使用的方法。 - GET：返回响应内容。  - HEAD：返回响应头。                                                                          |
   | 检查端口    | 健康检查的目标端口。 缺省时，检查端口为负载通道的端口号。                                                                                                                                                                                                                                                     |
   | 正常阈值    | 判定负载通道中主机正常的依据为：连续检查x次成功，x为您设置的正常阈值。 取值范围为2\~10。缺省值为2。                                                                                                                                                                                                                          |
   | 异常阈值    | 判定负载通道中主机异常的依据为：连续检查x次失败，x为您设置的异常阈值。 取值范围为2\~10。缺省值为5。                                                                                                                                                                                                                            |
   | 超时时间    | 检查期间，无响应的时间，单位为秒。 取值范围为2\~30。缺省值为5。                                                                                                                                                                                                                                               |
   | 间隔时间    | 连续两次检查的间隔时间，单位为秒。 取值范围为5\~300。缺省值为10。                                                                                                                                                                                                                                              |
   | HTTP响应码 | **仅在协议为"HTTP"或"HTTPS"时，需要设置。** 检查目标HTTP响应时，判断成功使用的HTTP响应码。                                                                                                                                                                                                                     |
      
   
   
10. 单击"完成"，完成负载通道的创建。 
    - 在负载通道列表中显示已创建的负载通道，表示负载通道创建成功。
    
    - 如果通道类型为微服务，CCE工作负载的"实例IP"变更（增删改），"后端服务器地址"会同步变更。
    
    - 确认APIG实例已添加路由。**通过同一个VPC（有扩展网段等）、对等连接等方式连接CCE负载与APIG实例的网络时，需要添加路由。**
      1. 进入云容器引擎控制台，在"集群管理"页面单击已创建的CCE集群名称。
      
      2. 在"总览"页面的"网络信息"区域查看"容器网段"，并记录。
      
      3. 进入API网关控制台，在"实例管理"页面单击对应的实例名称。
      
      4. 在"实例信息"页面的"路由"区域查看已添加的路由与容器网段是否一致。如果不一致，请添加。
       
    
    
    
    
 
#### 相关文档
- 负载通道创建完成后，将部署在负载中的后端服务开放为API。具体操作，请参考[创建API](https://support.huaweicloud.com/usermanual-apig/apig_03_0010.html)章节。
- 如果需要将CCE工作负载的服务能力以API的形式对外开放，可以通过负载通道访问后端服务来实现。具体操作，请参考[使用API网关开放云容器引擎CCE工作负载](https://support.huaweicloud.com/bestpractice-apig/apig-bp-180808002.html)章节。
- 当用户后端服务所在的VPC与创建实例所选择的VPC处于不同的场景时，可通过VPC Peering对等连接实现跨VPC对接。具体操作，请参考[使用APIG专享版跨VPC开放后端服务](https://support.huaweicloud.com/bestpractice-apig/apig-bp-0001.html)章节。
- APIG是否支持多后端节点方案？请参考[常见问题](https://support.huaweicloud.com/apig_faq/apig-faq-180606012.html)。
- 如果您希望通过API创建负载通道，请参考[创建VPC通道](https://support.huaweicloud.com/api-apig/CreateVpcChannelV2.html)。
 
