
# 负载均衡（LoadBalancer）
通过弹性负载均衡从公网访问工作负载，一般用于系统中需要暴露到公网的服务。访问方式由公网弹性负载均衡ELB服务地址以及设置的访问端口组成，例如"10.117.117.117:80"。
#### 前提条件
请确保已有可用的工作负载，若没有请参照[工作负载](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0254.html)先创建工作负载。
#### 添加方式
1. 登录[UCS控制台](https://console.huaweicloud.com/ucs/?#/aether/dashboard)，在左侧导航栏中选择"容器舰队"。
2. 在"容器舰队"页签下找到已开通集群联邦的舰队，单击名称进入详情页。
3. 在左侧导航栏中选择"服务与路由"，选择"服务"页签。
4. 选择服务所在命名空间，并单击右上角"创建服务"。如需新建命名空间，请参见[创建命名空间](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0281.html#ucs_01_0281__section20381629121511)。
5. 设置访问参数。
   
   图1创建服务   
   ![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000001921995421.png "点击放大")
   
   - **Service名称**：服务名称，可自定义，取值范围为1-50字符。
   
   - **访问类型**：选择"负载均衡 LoadBalancer"。
   
   - **服务亲和** ：
     - 集群级别：集群下所有节点的IP+访问端口均可以访问到此服务关联的负载，服务访问会因路由跳转导致一定性能损失，且无法获取到客户端源IP。
     
     - 节点级别：只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载，服务访问没有因路由跳转导致的性能损失，且可以获取到客户端源IP。
      
   
   - **端口配置** ：
     - 协议：TCP或UDP，请根据业务的协议类型选择。
     
     - 服务端口：容器端口映射到负载均衡实例的端口，通过负载均衡对外暴露服务时使用，端口范围为1-65535，可任意指定。
     
     - 容器端口：容器镜像中应用程序实际监听的端口，需用户确定。例如：nginx程序实际监听的端口为80。
      
   
   - **部署集群** ：选择负载均衡部署的集群，并完成负载均衡的差异化设置。
     图2添加部署集群   
     ![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000001875916092.png "点击放大")
     - **CCE集群** ：
       - 负载均衡器：仅支持集群所在VPC下的负载均衡实例。
       
       - 分配策略： 加权轮询算法：根据不同的权重将请求分配到后端服务器。
         加权最少连接：将请求分发给（当前连接/权重）比值最小的后端服务器进行处理。
         源IP算法：将客户端IP请求固定分配给一台服务器，实现获取同一个session。
         
       
       - 会话保持类型：默认不启用，可选择"源IP地址"。负载均衡监听是基于IP地址的会话保持，即来自同一IP地址的访问请求转发到同一台后端服务器上。
       
       - 健康检查：默认不启用。此处健康检查是设置负载均衡的健康检查配置，支持TCP和HTTP协议，其参数详细解释参见[表1]。
          表1健康检查参数说明 
         | 参数      | 说明                                                                                                    | 示例 |
         |:---|:---|:---|
         | 检查路径    | 当"协议"为HTTP时设置。指定健康检查的URL地址的路径。检查路径只能以/开头，长度范围\[1-80\]。                                                | /  |
         | 端口      | 健康检查端口号，取值范围\[1，65535\]。 健康检查默认使用业务端口（Service的NodePort和容器端口）作为健康检查的端口。 | 80 |
         | 检查周期    | 每次健康检查响应的最大间隔时间。 取值范围\[1-50\]。                                         | 5  |
         | 超时时间（秒） | 每次健康检查响应的最大超时时间。 取值范围\[1-50\]。                                           | 10 |
         | 最大重试次数  | 健康检查最大的重试次数，取值范围\[1-10\]。                                                                             | 5  |
            
         
       
       
       
       
       
     
     - **其他云** ：
       - Ingress Class：支持选择集群内已创建的Ingress Class，或手动输入规划的Ingress Class名称，请参见[Ingress资源](https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#the-ingress-resource)。
       
       - 注解：支持key/value对格式，请您根据自身业务以及厂家要求进行注解配置。
        
     
     - 如需创建内部负载均衡器，您需要根据集群的云服务商添加相应的注解，请参见[内部负载均衡器](https://kubernetes.io/zh/docs/concepts/services-networking/service/#internal-load-balancer)。
      
   
   - **命名空间**：服务所在命名空间。
   
   - **选择器** ：服务通过选择器与负载（标签）关联。单击"引用负载标签"，可选择已有的工作负载。
     - 负载类型：选择需要关联的负载类型。
     
     - 工作负载：选择一个已有的工作负载。如工作负载列表未显示，请单击![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000001554906629.png "点击放大")刷新。
     
     - 标签：选择工作负载后自动获取对应的标签，不可修改。
     
     
     图3引用负载标签   
     ![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000001922075053.png "点击放大")
     
     
     
    
   
   
6. 单击"确认"。
7. 获取访问地址。 
   1. 单击左侧导航栏"服务与路由"，选择"服务"页签。
   
   2. 单击所添加的Service名称进入"服务详情"界面，获取部署集群的访问地址。您可以通过负载均衡的弹性IP地址 + 端口的形式访问后端负载。
   
   
   
   
 
#### 相关操作
通过UCS控制台，您还可以执行[表2]中的操作。
 表2相关操作 
| 操作     | 说明                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|
| YAML创建 | 单击右上角"YAML创建"，可使用已有的YAML创建服务。                                                                                                                                                                                                                                                                                                                                                                             |
| 查看详情   | 1. 选择服务所在的命名空间。  2. （可选）根据服务名称进行搜索。  3. 单击服务名称即可查看服务详情，包括基本信息以及各集群的部署信息。  4. 在服务详情页的部署集群栏中单击"查看YAML"，可查看各个集群中部署的服务实例YAML，并支持下载。   |
| 编辑YAML | 单击服务名称后的"编辑YAML"，可查看并编辑当前服务的YAML文件。                                                                                                                                                                                                                                                                                                                                                                       |
| 更新     | 1. 单击服务名称后的"更新"。  2. 根据[服务参数]更改信息。  3. 单击"确认"提交已修改的信息。                                                                                    |
| 删除     | 单击服务名称后的"删除"，并单击"是"进行确认。                                                                                                                                                                                                                                                                                                                                                                                  |
| 批量删除   | 1. 勾选需要删除的服务。  2. 单击左上角的"批量删除"。  3. 单击"是"进行确认。                                                                                                                               |
   
