
# 创建负载均衡类型的服务
负载均衡（LoadBalancer）类型的服务在NodePort的基础上添加了外部负载均衡器，可以通过弹性负载均衡（ELB）将外部流量向集群内的多个Pod进行分发，与NodePort类型相比提供了高可靠的保障。Service会自动分配一个外部IP地址，允许客户端通过该IP访问服务。该类型服务不仅支持在OSI模型的第四层（传输层）处理TCP和UDP流量，还能扩展至第七层（应用层），支持HTTP和HTTPS流量的管理。
在云上提供应用访问时，若您需要提供一个稳定且易于管理的对外访问入口，可以使用负载均衡类型的服务。例如生产环境中需从互联网访问的公共服务，这些服务需承受大量外部流量并确保高可用性，如Web应用和API服务等。负载均衡类型服务的访问方式由公网弹性负载均衡服务地址以及设置的访问端口组成，例如"10.117.117.117:80"。
图1负载均衡（LoadBalancer）   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002389501129.png "点击放大")
在使用**CCE Turbo集群 + 独享型ELB实例**时，支持ELB直通Pod，使部署在容器中的业务时延降低、性能无损耗。
从集群外部访问时，从ELB直接转发到Pod；集群内部访问可通过Service转发到Pod。
图2ELB直通容器   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002355741136.png "点击放大")
#### 约束与限制
- 针对Service关联使用的ELB实例，存在如下约束：
  - 根据Service配置自动创建的ELB实例，请勿被其它资源关联使用，否则删除Service时无法联动清理ELB实例，会出现资源残留情况。
  
  - v1.15及之前版本集群请勿修改ELB实例监听器名称，否则可能出现访问ELB异常的问题。
   
- 针对独享型ELB，存在如下约束：
  - 独享型ELB仅支持1.17及以上集群。
  
  - 独享型ELB网络类型必须支持私网（有私有IP地址）。
  
  - 如果需要Service支持HTTP/HTTPS，则独享型ELB规格需要支持应用型（HTTP/HTTPS），且存在一定的集群版本限制，详情请参见[为负载均衡类型的Service配置HTTP/HTTPS协议](https://support.huaweicloud.com/usermanual-cce/cce_10_0683.html)。
   
- 针对Service的**服务亲和** （[externalTrafficPolicy](https://support.huaweicloud.com/usermanual-cce/cce_10_0249.html#cce_10_0249__section18134208069)）配置，存在如下约束：
  - 服务亲和设置为节点级别（即[externalTrafficPolicy](https://support.huaweicloud.com/usermanual-cce/cce_10_0249.html#cce_10_0249__section18134208069)为Local）时，可能出现集群内部访问ELB异常的问题，具体情况请参见[集群内无法访问Service的说明](https://support.huaweicloud.com/usermanual-cce/cce_10_0249.html#cce_10_0249__section52631714117)。
  
  - 创建Service后，如果服务亲和从集群级别切换为节点级别，连接跟踪表将不会被清理，建议用户创建Service后不要修改服务亲和属性，如需修改请重新创建Service。
  
  - CCE Turbo集群（云原生2.0网络模型）中，如果未开启Dataplane V2，仅当Service的后端对接使用主机网络（HostNetwork）的Pod时，亲和级别支持配置为节点级别。开启Dataplane V2后，Service亲和级别支持配置为节点级别。
   
- 针对**服务转发模式为IPVS** 的集群，kube-proxy会在ipvs-0的网桥上挂载Service关联使用的ELB IP地址，集群内访问ELB的流量会被ipvs-0网桥劫持。因此存在以下集群内访问ELB异常的场景：
  - ELB Ingress和Service关联使用相同的ELB实例，集群内访问Ingress时会被ipvs-0网桥劫持到Service地址，导致无法访问。
  
  - 本集群的Service和其他集群的Service关联使用相同的ELB实例，集群内访问其他集群的Service时会被ipvs-0网桥劫持到本集群内的Service地址，导致无法访问。
  
  - Service配置"区间端口监听"时（例如端口范围为30000-30005），集群内访问仅支持spec.ports中配置的port端口（30000），其余端口（30001-30005）会因为ipvs-0网桥劫持访问失败。
  
  
  您可以通过[为负载均衡类型的Service配置pass-through能力](https://support.huaweicloud.com/usermanual-cce/cce_10_0355.html)，这样在集群内部访问Service的ELB地址时可以不经过kube-proxy转发，从而避免该场景异常。
  
- 集群服务转发模式为IPVS时，不支持配置节点的IP作为Service的externalIP，会导致节点不可用。
 
#### 创建负载均衡类型的服务
您可以通过以下方式进行创建。
- [通过控制台创建]
- [通过kubectl命令行创建-使用已有ELB]
- [通过kubectl命令行创建-自动创建ELB]
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧导航栏中选择"服务"，在右上角单击"创建服务"。
3. 设置基础配置参数。 
   
   | 参数   | 说明                                                                                                                                                |
   |:---|:---|
   | 访问类型 | 选择"负载均衡"。                                                                                                                                         |
   | 服务名称 | 自定义服务名称，可与工作负载名称保持一致。                                                                                                                             |
   | 命名空间 | 工作负载所在命名空间。                                                                                                                                       |
   | 选择器  | 您可以添加Pod标签的键值，Service将会根据标签与工作负载的Pod进行关联，将流量导向包含该标签的Pod。 您也可以引用已有工作负载的标签，单击"引用负载标签"，在弹出的窗口中选择负载，然后单击"确定"。 |
      
   
   
4. 设置负载均衡配置参数。 
   
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                          |
   |:---|:---|
   | 协议版本  | 选择服务的集群内IP地址（ClusterIP）的协议版本，根据不同的使用场景，可选择IPv4、IPv6、IPv4/IPv6 （默认使用IPv4）、IPv6/IPv4 （默认使用IPv6）。默认选择IPv4。 **该功能仅在1.15及以上版本的集群创建时开启了IPv6功能才会显示。** 具体请参见[如何通过CCE搭建IPv4/IPv6双栈集群？](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00222.html)                                                                                                 |
   | 负载均衡器 | 选择弹性负载均衡的类型及创建方式。 - 选择已有：仅支持选择与集群在同一个VPC下的ELB实例。如果没有可选的ELB实例，请单击"创建负载均衡器"跳转到ELB控制台创建。  - 自动创建：自动创建的负载均衡实例将创建到集群所在的VPC，具体配置如[表1]所示。 说明： 当集群使用共享VPC时，不支持自动创建共享型ELB。    |
   | 监听器托管 | 勾选表示由CCE托管监听器（默认行为），CCE自动管理监听器的创建、更新和删除。取消勾选表示取消监听器托管，CCE仅创建后端云服务器组、健康检查和后端服务器成员，不创建和管理监听器。 请您前往ELB控制台手动配置监听器，并关联当前Service生成的后端云服务器组。**且后续将无法再切换成监听器托管模式。** 详情请参见[取消负载均衡类型的Service关联ELB的监听器托管](https://support.huaweicloud.com/usermanual-cce/cce_10_1167.html)。                                                                                                |
      
    表1ELB配置 
   | ELB类型    | 配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   |:---|:---|
   | 独享型ELB配置 | 独享型ELB支持网络型（TCP/UDP/TLS）、应用型（HTTP/HTTPS）、网络型（TCP/UDP/TLS）\&应用型类型（HTTP/HTTPS）。 - 弹性规格：适用于业务用量波动较大的场景，按实际使用量收取每小时使用的容量费用。v1.21.10-r10、v1.23.8-r10、v1.25.3-r10及以上版本集群支持使用弹性规格。    - 可用区：可以选择在多个可用区创建负载均衡实例，提高服务的可用性。如果业务需要考虑容灾能力，建议选择多个可用区。    - 实例名称：请填写ELB名称。  - 企业项目：该参数仅对开通企业项目的企业客户账号显示。企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。  - 资源标签：通过为资源添加标签，可以对资源进行自定义标记，实现资源的分类。您可以在TMS中创建"预定义标签"，预定义标签对所有支持标签功能的服务资源可见，通过使用预定义标签可以提升标签创建和迁移效率。   **网络配置** - 前端子网：用于分配ELB实例对外服务的IP地址。  - 后端子网：用于与后端服务建立连接的IP地址。  - 弹性公网IP：选择"自动创建"时，可配置公网带宽的计费方式及带宽大小。  - 全域弹性公网：选择绑定全域弹性公网IP实例，实现公网带宽资源在实例间分配与使用，控制全域弹性公网IP与公网间通信的速率。关于全域弹性公网更多信息，请参见[全域公网带宽概述](https://support.huaweicloud.com/usermanual-eip/eip_ibw_0002.html)。   |
   | 共享型ELB配置 | - 实例名称：请填写ELB名称。  - 企业项目：该参数仅对开通企业项目的企业客户账号显示。企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。  - 资源标签：通过为资源添加标签，可以对资源进行自定义标记，实现资源的分类。您可以在TMS中创建"预定义标签"，预定义标签对所有支持标签功能的服务资源可见，通过使用预定义标签可以提升标签创建和迁移效率。   **网络配置** 弹性公网IP：选择"自动创建"时，可配置公网带宽的计费方式及带宽大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
5. 填写访问设置参数。 
   
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 服务亲和   | 选择将外部流量路由到节点本地或集群范围的端点，详情请参见[服务亲和（externalTrafficPolicy）](https://support.huaweicloud.com/usermanual-cce/cce_10_0249.html#cce_10_0249__section18134208069)。 - 集群级别：集群下所有节点的IP+节点端口均可以访问到此服务关联的负载，服务访问会因路由跳转导致一定性能损失，且无法获取到客户端源IP。  - 节点级别：只有通过负载所在节点的IP+节点端口才可以访问此服务关联的负载，服务访问没有因路由跳转导致的性能损失，且可以获取到客户端源IP。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 健康检查   | 设置负载均衡的健康检查配置。 - 全局检查：全局检查仅支持使用相同协议的端口，无法对多个使用不同协议的端口生效。如果您需要配置多个不同的协议端口，建议使用"自定义检查"。  - 自定义检查：在[端口配置]中对多种不同协议的端口设置健康检查。关于自定义检查的YAML定义，请参见[为负载均衡类型的Service指定多个端口配置健康检查](https://support.huaweicloud.com/usermanual-cce/cce_10_0684.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 后端分配策略 | - 全局配置：所有端口使用相同的后端分配策略，具体设置参数请参见[表3]。 注意： 当添加多个端口时，如果部分端口选择的监听器前端协议不同，后端分配策略的全局配置无法对多种协议同时生效，未匹配成功的协议将使用默认配置，监听器与后端服务器组的前端/后端协议匹配关系详见[负载均衡前/后端协议对应关系说明及配置样例]。建议使用自定义配置。   - 自定义配置：每个端口支持指定不同的后端分配策略，您可以在"[端口配置 \> 后端分配策略]"中进行设置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 端口配置   | - 协议：请根据业务的协议类型选择。根据Kubernetes中定义的实现方案，Service在使用ELB提供的非UDP协议时，都需要将该参数设置为TCP并选择对应的[监听器前端协议]。详细说明请参见[Service所用的协议](https://kubernetes.io/zh-cn/docs/reference/networking/service-protocols/#special-cases)。  - 容器端口：工作负载程序实际监听的端口，需用户确定。例如nginx默认使用80端口。  - 服务端口：Service使用的端口。 - 单端口监听：端口范围为1-65535。  - 区间端口监听：负载均衡服务支持创建某个端口范围的监听器，您最多可为每个监听器添加10个互不重叠的监听端口段。 为负载均衡服务配置区间端口监听需满足以下条件： - 集群版本为v1.23.18-r0、v1.25.13-r0、v1.27.10-r0、v1.28.8-r0、v1.29.4-r0、v1.30.1-r0及以上。  - 使用独享型ELB且选择TCP/UDP/TLS协议。  - 该功能依赖ELB能力，使用该功能前请确认ELB在当前区域是否支持四层协议全端口监听和转发。      - 监听器前端协议：ELB监听器的前端协议，是客户端与负载均衡监听器建立流量分发连接所使用的协议。当选择独享型负载均衡器类型时，包含"应用型（HTTP/HTTPS）"方可支持配置HTTP/HTTPS/QUIC；包含"网络型（TCP/UDP/TLS）"方可支持配置TLS。  - 健康检查：[健康检查]选项设置为"自定义检查"时，可以为不同协议的端口配置健康检查，参数说明请参见[表2]。  - 后端分配策略：[后端分配策略]选项设置为"自定义配置"时，可以为不同协议的端口配置后端分配策略，参数说明请参见[表3]。   说明： 在创建LoadBalancer类型Service时，会自动生成一个随机节点端口号（NodePort）。 |
      
    表2健康检查参数 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | 协议      | - 当[端口配置]中的协议为TCP时，支持TCP/HTTP/HTTPS协议。其中选择HTTPS协议需要使用独享型ELB且集群版本为v1.28.15-r90、v1.29.15-r50、v1.30.14-r50、v1.31.14-r10、v1.32.9-r10、v1.33.7-r10、v1.34.3-r0及以上。 检查路径（仅HTTP/HTTPS健康检查协议支持）：指定健康检查的URL地址。检查路径只能以/开头，长度范围为1-80。   - 当[端口配置]中的协议为UDP时，支持UDP协议。                                                                                         |
   | 端口      | - 使用业务端口：健康检查默认使用业务端口（Service的NodePort和容器端口）作为健康检查的端口  - 重新指定端口：重新指定端口会为服务增加一个名为cce-healthz的服务端口配置。 - 节点端口：使用共享型负载均衡或独享型负载均衡不关联ENI实例时，节点端口作为健康检查的检查端口；如不指定将随机一个端口。取值范围为30000-32767。  - 容器端口：使用独享型负载均衡关联ENI实例时，容器端口作为健康检查的检查端口。取值范围为1-65535。     |
   | 检查周期（秒） | 每次健康检查响应的最大间隔时间，取值范围为1-50。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 超时时间（秒） | 每次健康检查响应的最大超时时间，取值范围为1-50。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 最大重试次数  | 健康检查最大的重试次数，取值范围为1-10。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
    表3后端分配策略参数 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 后端协议   | ELB后端服务器组的后端协议，是后端云服务器自身提供的网络服务的协议。支持TCP/HTTP/HTTPS/TLS/QUIC/UDP，监听器与后端服务器组的前端/后端协议匹配关系详见[负载均衡前/后端协议对应关系说明及配置样例]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 分配策略类型 | 负载均衡会根据配置的流量分配策略，将来自客户端的请求按照对应的流量分配策略转发至相应的后端服务器。 - 加权轮询算法：根据组内后端服务器设置的权重，按照访问顺序依次将请求分发给不同的服务器。  - 加权最少连接：将请求分发给（当前连接/权重）比值最小的后端服务器进行处理。  - 源IP算法：根据请求的源IP地址进行哈希计算，源IP相同的请求会被分配到同一台后端服务器。  - 连接ID算法：根据QUIC协议请求的ID进行哈希计算，相同QUIC ID连接上的请求会被分配到同一台后端服务器，仅后端协议为QUIC的时候才可配置。 - 连接ID哈希因子：负载均衡器使用QUIC客户端目的连接ID中的部分字节，作为连接ID算法调度的一致性哈希因子，从而维持QUIC连接会话的一致性。起始位置加取值长度的数值需要小于等于20。 起始位置：0-19字节，默认1 取值长度：1-20字节，默认3      |
   | 会话保持   | 默认不启用。 前端协议为TCP/UDP的监听器，会话保持类型支持源IP地址。基于源IP地址的简单会话保持，即来自同一IP地址的访问请求转发到同一台后端服务器（Pod实例）上。 说明： 当[分配策略]使用源IP算法时，不支持设置会话保持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
6. 设置负载监听器配置参数。 
   
   | 参数                 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 使用限制                                                                                                                                                                                                                     |
   |:---|:---|:---|
   | SSL解析方式            | - 单向认证：仅进行服务器端认证。如需认证客户端身份，请选择双向认证。  - 双向认证：双向认证需要负载均衡实例与访问用户互相提供身份认证，从而允许通过认证的用户访问负载均衡实例，后端服务器无需额外配置双向认证。                                                                                                                                                                                                                                                                                             | 当"监听器前端协议"选择"HTTPS"或"TLS"时支持该配置。 独享型ELB在v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持。共享型ELB在v1.28.15-r60、v1.29.15-r20、v1.30.14-r20、v1.31.10-r20、v1.32.6-r20、v1.33.5-r10及以上版本的集群支持。 |
   | CA证书               | SSL解析方式选择"双向认证"时需要添加CA证书，用于认证客户端身份。CA证书又称客户端CA公钥证书，用于验证客户端证书的签发者；在开启HTTPS双向认证功能时，只有当客户端能够出具指定CA签发的证书时，HTTPS连接才能成功。                                                                                                                                                                                                                                                                                                                                                                                                                                               | 当"监听器前端协议"选择"HTTPS"或"TLS"，且"SSL解析方式"选择"双向认证"时支持该配置。                                                                                                                                                                      |
   | 服务器证书              | 选择一个服务器证书。如果当前无可选证书，需前往弹性负载均衡控制台进行创建，详情请参见[创建证书](https://support.huaweicloud.com/usermanual-elb/elb_ug_zs_0004.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                            | 当"监听器前端协议"选择"HTTPS"或"TLS"时支持该配置。                                                                                                                                                                                         |
   | 访问控制               | - 继承ELB已有配置：CCE不对ELB侧已有的访问控制进行修改。  - 允许所有IP访问：不设置访问控制。  - 白名单：仅所选IP地址组可以访问ELB地址。  - 黑名单：所选IP地址组无法访问ELB地址。   说明： v1.25.16-r10、v1.27.16-r10、v1.28.15-r0、v1.29.10-r0、v1.30.6-r0、v1.31.1-r0及以上版本的集群中，使用独享型ELB时访问控制可同时选择多个IP地址组，最多同时选择5个。 | v1.23.12-r0、v1.25.7-r0、v1.27.4-r0、v1.28.2-r0及以上版本支持该配置。                                                                                                                                                                  |
   | SNI                | 选择是否添加SNI证书，如果需要添加SNI证书，则证书中必须包含域名。如果当前无可选证书，需前往弹性负载均衡控制台进行创建，详情请参见[创建证书](https://support.huaweicloud.com/usermanual-elb/elb_ug_zs_0004.html)。 如果无法根据客户端请求的域名查找到域名对应的SNI证书，则默认返回服务器证书。                                                                                                                                                                                                                                                                                                                                             | 当"监听器前端协议"选择"HTTPS"或"TLS"时支持该配置。                                                                                                                                                                                         |
   | ProxyProtocol      | 此功能依赖后端服务器解析ProxyProtocol协议的能力，请谨慎开启。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 当"监听器前端协议"选择"TLS"时支持该配置。                                                                                                                                                                                                 |
   | 安全策略               | 选择可用的安全策略，CCE默认值为TLS-1-2，更多信息请参见[安全策略](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0022.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 集群为v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本，且"监听器前端协议"选择"HTTPS"或"TLS"时，支持配置。                                                                                                                                    |
   | 获取监听器端口号           | 开启后可以将ELB实例的监听端口从报文的HTTP头中带到后端云服务器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 独享型ELB实例的"监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                 |
   | 获取客户端请求端口号         | 开启后可以将客户端的源端口从报文的HTTP头中带到后端云服务器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 独享型ELB实例的"监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                 |
   | 重写X-Forwarded-Host | 开启后将以客户端请求头的Host重写X-Forwarded-Host传递到后端云服务器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 独享型ELB实例的"监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                 |
   | 重写X-Real-IP        | 开启后将以客户端的源IP地址重写X-Real-IP传递到后端服务器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 独享型ELB实例的"监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                 |
   | 数据压缩               | 开启将对特定文件类型进行压缩；关闭则不会对任何文件类型进行压缩。 - Brotli支持压缩所有类型。  - Gzip支持压缩的类型如下： text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。                                                                                                         | 独享型ELB实例的"监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                 |
   | 空闲超时时间（秒）          | 客户端连接空闲超时时间。在超过空闲超时时间一直没有请求， 负载均衡会暂时中断当前连接，直到下一次请求时重新建立新的连接。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 共享型ELB实例的端口使用UDP协议时不支持此配置。                                                                                                                                                                                               |
   | 请求超时时间（秒）          | 等待客户端请求超时时间。包括两种情况： - 读取整个客户端请求头的超时时长，如果客户端未在超时时长内发送完整个请求头，则请求将被中断。  - 两个连续body体的数据包到达LB的时间间隔，超出请求超时时间将会断开连接。                                                                                                                                                                                                                                                                  | "监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                          |
   | 响应超时时间（秒）          | 等待后端服务器响应超时时间。请求转发后端服务器后，在等待超过响应超时时间没有响应，负载均衡将终止等待，并返回 HTTP504错误码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | "监听器前端协议"选择"HTTP"或"HTTPS"时支持配置。                                                                                                                                                                                          |
   | 开启HTTP2            | 客户端与ELB之间的HTTPS请求的HTTP2功能的开启状态。 开启后，可提升客户端与ELB间的访问性能，但ELB与后端服务器间仍采用HTTP1.X协议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | "监听器前端协议"选择"HTTPS"时支持配置。                                                                                                                                                                                                 |
   | 注解                 | LoadBalancer类型Service有一些CCE定制的高级功能，通过注解annotations实现，具体注解的内容请参见[负载均衡服务注解（Annotations）配置全集](https://support.huaweicloud.com/usermanual-cce/cce_10_0385.html)。                                                                                                                                                                                                                                                                                                                                                                                                     | -                                                                                                                                                                                                                        |
      
   
   
7. 单击"创建"，创建Service。
 
您可以在创建工作负载时通过kubectl命令行设置负载均衡（LoadBalancer）Service的访问方式。如果您在创建Service时已经在集群同VPC下拥有一个ELB实例，并期望将其作为应用访问入口，您可以参考以下步骤，将已有的ELB绑定到Service。
1. 使用kubectl连接集群，详情请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0107.html)。
2. 创建并编辑nginx-deployment.yaml文件，配置示例工作负载，详情请参见[创建无状态负载（Deployment）](https://support.huaweicloud.com/usermanual-cce/cce_10_0047.html)。其中nginx-deployment.yaml为自定义名称，您可以随意命名。
   
   ```
   vi nginx-deployment.yaml
   ```
   内容如下：
   ```
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: nginx
   spec:
     replicas: 1
     selector:
       matchLabels:
         app: nginx
     template:
       metadata:
         labels:
           app: nginx
       spec:
         containers:
         - image: nginx:latest
           name: nginx
         imagePullSecrets:
         - name: default-secret
   ```
   
   
3. 创建并编辑nginx-elb-svc.yaml文件，用于配置Service参数。其中nginx-elb-svc.yaml为自定义名称，您可以随意命名。 
   ```
   vi nginx-elb-svc.yaml
   ```
   内容如下：
   ```
   apiVersion: v1 
   kind: Service 
   metadata: 
     name: nginx
     annotations:
       kubernetes.io/elb.id: <your_elb_id>                         # ELB ID，替换为实际值
       kubernetes.io/elb.class: performance                   # 负载均衡器类型
       kubernetes.io/elb.lb-algorithm: ROUND_ROBIN                   # 负载均衡器算法
       kubernetes.io/elb.session-affinity-mode: SOURCE_IP          # 会话保持类型为源IP
       kubernetes.io/elb.session-affinity-option: '{"persistence_timeout": "30"}'     # 会话保持时间（分钟）
       kubernetes.io/elb.health-check-flag: 'on'                   # 开启ELB健康检查功能
       kubernetes.io/elb.health-check-option: '{
         "protocol":"TCP",
         "delay":"5",
         "timeout":"10",
         "max_retries":"3"
       }'
   spec:
     selector: 
        app: nginx
     ports: 
     - name: service0 
       port: 80     #访问Service的端口，也是负载均衡上的监听器端口。
       protocol: TCP 
       targetPort: 80  #Service访问目标容器的端口，此端口与容器中运行的应用强相关
       nodePort: 31128  #节点的端口号，如不指定，将在30000-32767范围内随机生成一个端口号
     type: LoadBalancer
   ```
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   若需要开启会话保持，工作负载的各实例需设置反亲和部署，即所有的实例都部署在不同节点上。具体请参见[设置工作负载亲和/反亲和调度（podAffinity/podAntiAffinity）](https://support.huaweicloud.com/usermanual-cce/cce_10_0893.html)。
   上述示例通过Annotation（注解）实现负载均衡的一些高级功能，例如会话保持、健康检查等，对应的说明请参见[表4]。
   除本示例中的功能外，如需了解更多高级功能相关注解及示例，请参见[负载均衡服务注解（Annotations）配置全集](https://support.huaweicloud.com/usermanual-cce/cce_10_0385.html)。
    表4annotations参数 
   | 参数                                        | 是否必填 | 参数类型                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|:---|:---|
   | kubernetes.io/elb.id                      | 是    | String                                         | 为负载均衡实例的ID。 在关联已有ELB时需填写，**创建完成后不可修改**。 **获取方法：** 登录[ELB控制台](https://console.huaweicloud.com/vpc/#/elb/list/grid)，单击ELB的名称，在ELB详情页的"基本信息"页签下找到"ID"字段复制即可。 说明： 系统优先根据kubernetes.io/elb.id注解对接ELB，若此字段未指定，则会根据spec.loadBalancerIP字段对接ELB。由于spec.loadBalancerIP字段在将来的集群版本中可能会被Kubernetes官方废弃，建议使用注解方式对接ELB，详情请参见[Deprecation](https://github.com/kubernetes/kubernetes/blob/8f2371bcceff7962ddb4901c36536c6ff659755b/CHANGELOG/CHANGELOG-1.24.md#changes-by-kind-13)。 |
   | kubernetes.io/elb.class                   | 是    | String                                         | 请根据不同的应用场景和功能需求选择合适的负载均衡器类型。**该参数在创建完成后不可修改**。 取值如下： - union：共享型负载均衡。  - performance：独享型负载均衡，仅支持1.17及以上集群，详情请参见[共享型弹性负载均衡与独享型负载均衡的功能区别](https://support.huaweicloud.com/productdesc-elb/elb_pro_0004.html)。                                                                                                                                                                                             |
   | kubernetes.io/elb.lb-algorithm            | 否    | String                                         | 后端云服务器组的负载均衡算法，默认值为"ROUND_ROBIN"。 取值范围： - ROUND_ROBIN：加权轮询算法。  - LEAST_CONNECTIONS：加权最少连接算法。  - SOURCE_IP：源IP算法。   说明： 当该字段的取值为SOURCE_IP时，后端云服务器组绑定的后端云服务器的权重设置（weight字段）无效，且不支持开启会话保持。                                                                                                                              |
   | kubernetes.io/elb.session-affinity-mode   | 否    | String                                         | 支持基于源IP地址的简单会话保持，即来自同一IP地址的访问请求转发到同一台后端服务器上。 - 不启用：不填写该参数。  - 开启会话保持：仅前端协议为TCP/UDP的监听器支持，会话保持类型支持源IP地址，参数取值为"SOURCE_IP"。   说明： 当kubernetes.io/elb.lb-algorithm设置为"SOURCE_IP"（源IP算法）时，不支持开启会话保持。                                                                                                                                                                                                       |
   | kubernetes.io/elb.session-affinity-option | 否    | [表5] Object | ELB会话保持配置选项，可设置会话保持的超时时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | kubernetes.io/elb.health-check-flag       | 否    | String                                         | 是否开启ELB健康检查功能。如果未添加该注解，则默认设置为开启。 - 开启：空值或"on"  - 关闭："off"                                                                                                                                                                                                                                                                                                                                                                          |
   | kubernetes.io/elb.health-check-option     | 否    | [表6] Object   | ELB健康检查配置选项。开启ELB健康检查功能时需填写该配置，如不填写则均设置为默认值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
    表5elb.session-affinity-option字段数据结构说明 
   | 参数                  | 是否必填 | 参数类型   | 描述                                                                                                             |
   |:---|:---|:---|:---|
   | persistence_timeout | 是    | String | 当elb.session-affinity-mode是"SOURCE_IP"时生效，设置会话保持的超时时间（分钟）。 默认值为："60"，取值范围：1-60。 |
      
    表6elb.health-check-option字段数据结构说明 
   | 参数          | 是否必填 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|:---|:---|
   | delay       | 否    | String | 健康检查间隔（秒）。 默认值：5，取值范围：1-50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | timeout     | 否    | String | 健康检查的超时时间（秒）。 默认值：10，取值范围1-50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | max_retries | 否    | String | 健康检查的最大重试次数。 默认值：3，取值范围1-10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | protocol    | 否    | String | 健康检查的协议。 取值范围："TCP"、"UDP"、"HTTP"、"HTTPS"、"TLS"、"GRPC" 选择"HTTPS"、"TLS"或者 "GRPC"协议需要使用独享型ELB且集群版本为v1.28.15-r90、v1.29.15-r50、v1.30.14-r50、v1.31.14-r10、v1.32.9-r10、v1.33.7-r10、v1.34.3-r0及以上。GRPC和TLS依赖ELB能力，使用该功能前请提交工单申请开通ELB相关能力。 - 若pool的protocol为UDP/QUIC，则健康检查协议只能是UDP。  - 若pool的protocol为TCP，则健康检查协议可以是TCP、HTTP、HTTPS。  - 若pool的protocol为TLS/HTTP/HTTPS/GRPC，则健康检查协议可以是TCP、HTTP、HTTPS、TLS、GRPC。   注意： 当需要切换健康检查的协议时（包括全局检查和自定义检查互相切换的场景），需要先关闭健康检查，然后重新开启并切换其他协议。 |
   | path        | 否    | String | 健康检查的URL，协议是"HTTP"、"HTTPS"、"GRPC"时配置。 默认值："/" 取值范围：1-80字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
4. 创建工作负载。 
   ```
   kubectl create -f nginx-deployment.yaml
   ```
   回显如下，表示工作负载已经创建。
   ```
   deployment/nginx created
   ```
   查看已创建的工作负载。
   ```
   kubectl get pod
   ```
   回显如下，工作负载状态为Running，表示工作负载已处于运行中状态。
   ```
   NAME                     READY     STATUS             RESTARTS   AGE
   nginx-2601814895-znhbr   1/1       Running            0          15s
   ```
   
   
5. 创建服务。 
   ```
   kubectl create -f nginx-elb-svc.yaml
   ```
   回显如下，表示服务已创建。
   ```
   service/nginx created
   ```
   查看已创建的服务。
   ```
   kubectl get svc
   ```
   回显如下，表示工作负载访问方式已设置成功。
   ```
   NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
   kubernetes   ClusterIP      10.247.0.1       <none>        443/TCP        3d
   nginx        LoadBalancer   10.247.130.196   10.78.42.242   80:31540/TCP   51s
   ```
   
   
6. 在浏览器中输入访问地址，例如输入10.78.42.242:80。10.78.42.242为负载均衡实例IP地址，80为对应界面上的访问端口。 
   可成功访问nginx。
   图3通过负载均衡访问nginx   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002391161425.png "点击放大")
   
   
 
您可以在创建工作负载时通过kubectl命令行设置负载均衡（LoadBalancer）Service的访问方式。如果您在创建Service时没有可用的ELB，您可以参考以下步骤，自动创建一个ELB并绑定到Service。
1. 使用kubectl连接集群，详情请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0107.html)。
2. 创建并编辑nginx-deployment.yaml文件，配置示例工作负载，详情请参见[创建无状态负载（Deployment）](https://support.huaweicloud.com/usermanual-cce/cce_10_0047.html)。其中nginx-deployment.yaml为自定义名称，您可以随意命名。
   
   ```
   vi nginx-deployment.yaml
   ```
   内容如下：
   ```
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: nginx
   spec:
     replicas: 1
     selector:
       matchLabels:
         app: nginx
     template:
       metadata:
         labels:
           app: nginx
       spec:
         containers:
         - image: nginx:latest
           name: nginx
         imagePullSecrets:
         - name: default-secret
   ```
   
   
3. 创建并编辑nginx-elb-svc.yaml文件，用于配置Service参数。其中nginx-elb-svc.yaml为自定义名称，您可以随意命名。 
   ```
   vi nginx-elb-svc.yaml
   ```
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   若需要开启会话保持，工作负载的各实例需设置反亲和部署，即所有的实例都部署在不同节点上。具体请参见[设置工作负载亲和/反亲和调度（podAffinity/podAntiAffinity）](https://support.huaweicloud.com/usermanual-cce/cce_10_0893.html)。
   共享型负载均衡（公网访问）Service示例：
   ```
   apiVersion: v1 
   kind: Service 
   metadata: 
     annotations:   
       kubernetes.io/elb.class: union
       kubernetes.io/elb.autocreate: '{
         "type": "public",
         "bandwidth_name": "cce-bandwidth-1551163379627",
         "bandwidth_chargemode": "bandwidth",
         "bandwidth_size": 5,
         "bandwidth_sharetype": "PER",
         "vip_subnet_cidr_id": "*****",
         "vip_address": "**.**.**.**",
         "eip_type": "5_bgp"
       }'
       kubernetes.io/elb.enterpriseID: '0'       # 负载均衡所属企业项目ID
       kubernetes.io/elb.lb-algorithm: ROUND_ROBIN                   # 负载均衡器算法
       kubernetes.io/elb.session-affinity-mode: SOURCE_IP          # 会话保持类型为源IP
       kubernetes.io/elb.session-affinity-option: '{"persistence_timeout": "30"}'     # 会话保持时间（分钟）
       kubernetes.io/elb.health-check-flag: 'on'                   # 开启ELB健康检查功能
       kubernetes.io/elb.health-check-option: '{
         "protocol":"TCP",
         "delay":"5",
         "timeout":"10",
         "max_retries":"3"
       }'
       kubernetes.io/elb.tags: key1=value1,key2=value2           # 添加ELB资源标签
     labels: 
       app: nginx 
     name: nginx 
   spec: 
     ports: 
     - name: service0 
       port: 80
       protocol: TCP 
       targetPort: 80
     selector: 
       app: nginx 
     type: LoadBalancer
   ```
   独享型负载均衡（公网访问）Service示例 - 仅支持1.17及以上集群：
   ```
   apiVersion: v1
   kind: Service
   metadata:
     name: nginx
     labels:
       app: nginx
     namespace: default
     annotations:
       kubernetes.io/elb.class: performance
       kubernetes.io/elb.autocreate: '{
         "type": "public",
         "bandwidth_name": "cce-bandwidth-1626694478577",
         "bandwidth_chargemode": "bandwidth",
         "bandwidth_size": 5,
         "bandwidth_sharetype": "PER",
         "eip_type": "5_bgp",
         "vip_subnet_cidr_id": "*****",
         "vip_address": "**.**.**.**",
         "elb_virsubnet_ids": ["*****"],
         "ipv6_vip_virsubnet_id": "*****",
         "available_zone": [
            "cn-north-4b"
         ],
         "l4_flavor_name": "L4_flavor.elb.s1.small"
       }'
       kubernetes.io/elb.enterpriseID: '0'       # 负载均衡所属企业项目ID
       kubernetes.io/elb.lb-algorithm: ROUND_ROBIN                   # 负载均衡器算法
       kubernetes.io/elb.session-affinity-mode: SOURCE_IP          # 会话保持类型为源IP
       kubernetes.io/elb.session-affinity-option: '{"persistence_timeout": "30"}'     # 会话保持时间（分钟）
       kubernetes.io/elb.health-check-flag: 'on'                   # 开启ELB健康检查功能
       kubernetes.io/elb.health-check-option: '{
         "protocol":"TCP",
         "delay":"5",
         "timeout":"10",
         "max_retries":"3"
       }'
       kubernetes.io/elb.tags: key1=value1,key2=value2           # 添加ELB资源标签
   spec:
     selector:
       app: nginx
     ports:
     - name: cce-service-0
       targetPort: 80
       nodePort: 0
       port: 80
       protocol: TCP
     type: LoadBalancer
   ```
   
   上述示例通过Annotation（注解）实现负载均衡的一些高级功能，例如会话保持、健康检查等，对应的说明请参见[表7]。
   除本示例中的功能外，如需了解更多高级功能相关注解及示例，请参见[负载均衡服务注解（Annotations）配置全集](https://support.huaweicloud.com/usermanual-cce/cce_10_0385.html)。
    表7annotations参数 
   | 参数                                        | 是否必填 | 参数类型                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|:---|
   | kubernetes.io/elb.class                   | 是    | String                                                   | 请根据不同的应用场景和功能需求选择合适的负载均衡器类型。**该参数在创建完成后不可修改**。 取值如下： - union：共享型负载均衡。  - performance：独享型负载均衡，仅支持1.17及以上集群，详情请参见[共享型弹性负载均衡与独享型负载均衡的功能区别](https://support.huaweicloud.com/productdesc-elb/elb_pro_0004.html)。   默认取值为union。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | kubernetes.io/elb.autocreate              | 是    | [elb.autocreate] object | 自动创建service关联的ELB。**该参数在创建完成后不可修改**。 注意： kubernetes.io/elb.id 和kubernetes.io/elb.autocreate不能同时填写。 如果在Service中同时填写以上两个注解，CCE优先使用已有的ELB实例，而不会再自动创建新的ELB实例。在这种情况下如果删除Service，这个已有的ELB会被系统视作自动创建，如果该ELB未关联其他资源，则会被同时删除。 **示例：** - 自动创建公网独享型ELB： 值为'{"type":"public","bandwidth_name":"cce-bandwidth-1741230802502","bandwidth_chargemode":"bandwidth","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp","available_zone":\["\*\*\*\*\*"\],"elb_virsubnet_ids":\["\*\*\*\*\*"\],"l7_flavor_name":"","l4_flavor_name":"L4_flavor.elb.pro.max","vip_subnet_cidr_id":"\*\*\*\*\*"}'   - 自动创建私网独享型ELB： 值为'{"type":"inner","available_zone":\["\*\*\*\*\*"\],"elb_virsubnet_ids":\["\*\*\*\*\*"\],"l7_flavor_name":"","l4_flavor_name":"L4_flavor.elb.pro.max","vip_subnet_cidr_id":"\*\*\*\*\*"}'   - 自动创建公网共享型ELB： 值为 '{"type":"public","bandwidth_name":"cce-bandwidth-1551163379627","bandwidth_chargemode":"bandwidth","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp","name":"james"}'   - 自动创建私网共享型ELB： 值为 '{"type":"inner", "name": "A-location-d-test"}'   - 自动创建加入共享带宽的公网独享型ELB： 值为'{"type":"public","bandwidth_id":"\*\*\*\*\*","bandwidth_sharetype":"WHOLE","eip_type":"5_bgp","available_zone":\["\*\*\*\*\*"\],"elb_virsubnet_ids":\["\*\*\*\*\*"\],"l7_flavor_name":"","l4_flavor_name":"L4_flavor.elb.pro.max","vip_subnet_cidr_id":"\*\*\*\*\*"}'   - 自动创建加入共享带宽的公网共享型ELB： 值为'{"type":"public","bandwidth_id":"\*\*\*\*\*","bandwidth_sharetype":"WHOLE","eip_type":"5_bgp","name":"james"}'    |
   | kubernetes.io/elb.subnet-id               | -    | String                                                   | 为集群所在子网的ID，取值范围：1-100字符。 - Kubernetes v1.11.7-r0及以下版本的集群自动创建service时为必填参数。  - Kubernetes v1.11.7-r0以上版本的集群：可不填。   获取方法请参见：[VPC子网接口与OpenStack Neutron子网接口的区别是什么？](https://support.huaweicloud.com/api-vpc/vpc_api_0005.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | kubernetes.io/elb.enterpriseID            | 否    | String                                                   | **v1.15及以上版本的集群支持此字段，v1.15以下版本默认创建到default项目下。** 表示ELB企业项目ID，仅限于已开通企业项目的企业客户账号使用。选择企业项目ID后，相关资源可以直接创建在该的ELB企业项目下。 该字段不传（或传为字符串'0'），则将资源绑定给默认企业项目。 **获取方法：** 登录[企业项目管理控制台](https://console.huaweicloud.com/eps/#/projects/list)，在企业项目列表中单击要加入的企业项目名称，进入企业项目详情页，找到"ID"字段复制即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | kubernetes.io/elb.lb-algorithm            | 否    | String                                                   | 后端云服务器组的负载均衡算法，默认值为"ROUND_ROBIN"。 取值范围： - ROUND_ROBIN：加权轮询算法。  - LEAST_CONNECTIONS：加权最少连接算法。  - SOURCE_IP：源IP算法。   说明： 当该字段的取值为SOURCE_IP时，后端云服务器组绑定的后端云服务器的权重设置（weight字段）无效，且不支持开启会话保持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | kubernetes.io/elb.session-affinity-mode   | 否    | String                                                   | 支持基于源IP地址的简单会话保持，即来自同一IP地址的访问请求转发到同一台后端服务器上。 - 不启用：不填写该参数。  - 开启会话保持：需增加该参数，取值"SOURCE_IP"，表示基于源IP地址。   说明： 当kubernetes.io/elb.lb-algorithm设置为"SOURCE_IP"（源IP算法）时，不支持开启会话保持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | kubernetes.io/elb.session-affinity-option | 否    | [表5] Object           | ELB会话保持配置选项，可设置会话保持的超时时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | kubernetes.io/elb.health-check-flag       | 否    | String                                                   | 是否开启ELB健康检查功能。如果未添加该注解，则默认设置为开启。 - 开启：空值或"on"  - 关闭："off"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | kubernetes.io/elb.health-check-option     | 否    | [表6] Object             | ELB健康检查配置选项。开启ELB健康检查功能时需填写该配置，如不填写则均设置为默认值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | kubernetes.io/elb.tags                    | 否    | String                                                   | 为ELB添加资源标签，仅自动创建ELB时支持设置，且集群版本需满足v1.23.11-r0、v1.25.6-r0、v1.27.3-r0及以上。 格式为key=value，同时添加多个标签时以英文逗号（,）隔开。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      
    表8elb.autocreate字段数据结构说明 
   | 参数                    | 是否必填                 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|:---|:---|
   | name                  | 否                    | String           | 自动创建的负载均衡的名称。 取值范围：只能由中文、英文字母、数字、下划线、中划线、点组成，且长度范围为1-64个字符。 默认名称：cce-lb+service.UID                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | type                  | 否                    | String           | 负载均衡实例网络类型，公网或者私网。 - public：公网型负载均衡  - inner：私网型负载均衡   默认类型：inner                                                                                                                                                                                                                                                                                                                         |
   | bandwidth_id          | 否                    | String           | 共享带宽ID。使用已存在的共享带宽时填写。集群版本需满足v1.30.14-r100、v1.31.14-r60、v1.32.13-r30、v1.33.12-r10、v1.34.8-r10、v1.35.5-r10、v1.36.2-r0及以上。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | bandwidth_name        | 公网型负载均衡且共享带宽ID为空时必填。 | String           | 带宽的名称，默认值为：cce-bandwidth-\*\*\*\*\*\*。 取值范围：只能由中文、英文字母、数字、下划线、中划线、点组成，且长度范围为1-64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | bandwidth_chargemode  | 公网型负载均衡且共享带宽ID为空时必填。 | String           | 带宽付费模式。 - bandwidth：按带宽  - traffic：按流量                                                                                                                                                                                                                                                                                                                                                         |
   | bandwidth_size        | 公网型负载均衡且共享带宽ID为空时必填。 | Integer          | 带宽大小，默认1Mbit/s\~2000Mbit/s，请根据Region带宽支持范围设置。 调整带宽时的最小单位会根据带宽范围不同存在差异。 - 小于等于300Mbit/s：默认最小单位为1Mbit/s。  - 300Mbit/s\~1000Mbit/s：默认最小单位为50Mbit/s。  - 大于1000Mbit/s：默认最小单位为500Mbit/s。                                                                                                                                                     |
   | bandwidth_sharetype   | 公网型负载均衡且共享带宽ID为空时必填。 | String           | 带宽共享方式。 - PER：独享带宽  - WHOLE：共享带宽。仅v1.30.14-r100、v1.31.14-r60、v1.32.13-r30、v1.33.12-r10、v1.34.8-r10、v1.35.5-r10、v1.36.2-r0及以上版本支持。 说明： 该字段为WHOLE时，必须指定共享带宽ID。                                                                                                                                                                                                      |
   | eip_type              | 公网型负载均衡必填            | String           | 弹性公网IP类型。 - 5_telcom：电信  - 5_union：联通  - 5_bgp：全动态BGP  - 5_sbgp：静态BGP   具体类型以各区域配置为准，详情请参见弹性公网IP控制台。                                                                                                                                                                  |
   | vip_subnet_cidr_id    | 否                    | String           | 填写子网的IPv4子网ID，指定ELB所在的子网，用于分配ELB实例对外服务的IP地址，该子网必须属于集群所在的VPC。 如不指定，则默认与集群在同一个子网。 仅v1.21及以上版本的集群支持指定该字段。 **获取方式：** 登录[VPC控制台](https://console.huaweicloud.com/vpc/#/vpc/vpcs/list)，在左侧导航栏选择"子网"，根据集群所在的VPC名称筛选子网，单击子网名称，在"基本信息"页签下找到"IPv4子网ID"字段复制即可。                                                                                                                                                                                                             |
   | ipv6_vip_virsubnet_id | 否                    | String           | 双栈类型负载均衡器所在IPv6子网的网络ID，需要对应的子网开启IPv6。 独享型负载均衡器独有字段。 **获取方式：** 登录[VPC控制台](https://console.huaweicloud.com/vpc/#/vpc/vpcs/list)，在左侧导航栏选择"子网"，根据集群所在的VPC名称筛选子网，单击子网名称，在"基本信息"页签下找到"网络ID"字段复制即可。                                                                                                                                                                                                                                                                                                  |
   | elb_virsubnet_ids     | 否                    | Array of strings | 填写子网的网络ID，指定负载均衡后端所在子网，用于分配与后端服务建立连接的IP地址，不填默认为vip_subnet_cidr_id参数所选的子网。不同实例规格将占用不同数量子网IP，不建议使用其他资源（如集群，节点等）的子网网段。 独享型负载均衡器独有字段。 示例： ``` "elb_virsubnet_ids": [ "14567f27-8ae4-42b8-ae47-9f847a4690dd" ] ``` **获取方式：** 登录[VPC控制台](https://console.huaweicloud.com/vpc/#/vpc/vpcs/list)，在左侧导航栏选择"子网"，根据集群所在的VPC名称筛选子网，单击子网名称，在"基本信息"页签下找到"网络ID"字段复制即可。                                                                                                           |
   | vip_address           | 否                    | String           | 负载均衡器的内网IP。仅支持指定IPv4地址，不支持指定IPv6地址。 该IP必须为ELB所在子网网段中的IP。若不指定，自动从ELB所在子网网段中生成一个IP地址。 仅v1.23.11-r0、v1.25.6-r0、v1.27.3-r0及以上版本集群支持指定该字段。                                                                                                                                                                                                                                                                                                                                                                                    |
   | available_zone        | 是                    | Array of strings | 负载均衡所在可用区。 可以通过[查询可用区列表](https://support.huaweicloud.com/api-elb/ListAvailabilityZones.html)获取所有支持的可用区。 独享型负载均衡器独有字段。                                                                                                                                                                                                                                                                                                                                                                                                       |
   | l4_flavor_name        | 否                    | String           | 四层负载均衡实例规格名称。需要使用TCP、UDP、TLS协议时必填。 可以通过[查询规格列表](https://support.huaweicloud.com/api-elb/ListFlavors.html)获取所有支持的类型。 - 弹性规格：适用于业务用量波动较大的场景，按实际使用量收取每小时使用的容量费用。v1.21.10-r10、v1.23.8-r10、v1.25.3-r10及以上版本集群支持使用弹性规格。  - 固定规格：适用于业务用量较为稳定的场景，按固定规格折算收取每小时使用的容量费用。   独享型负载均衡器独有字段。                                                                                         |
   | l7_flavor_name        | 否                    | String           | 七层负载均衡实例规格名称。使用HTTP/HTTPS协议时必填。 可以通过[查询规格列表](https://support.huaweicloud.com/api-elb/ListFlavors.html)获取所有支持的类型。 - 弹性规格：适用于业务用量波动较大的场景，按实际使用量收取每小时使用的容量费用。v1.21.10-r10、v1.23.8-r10、v1.25.3-r10及以上版本集群支持使用弹性规格。  - 固定规格：适用于业务用量较为稳定的场景，按固定规格折算收取每小时使用的容量费用。   独享型负载均衡器独有字段，必须与l4_flavor_name对应规格的类型一致，即都为弹性规格或都为固定规格。 |
      
   
   
4. 创建工作负载。 
   ```
   kubectl create -f nginx-deployment.yaml
   ```
   回显如下，表示工作负载已经创建。
   ```
   deployment/nginx created
   ```
   查看已创建的工作负载。
   ```
   kubectl get pod
   ```
   回显如下，工作负载状态为Running，表示工作负载已处于运行中状态。
   ```
   NAME                     READY     STATUS             RESTARTS   AGE
   nginx-2601814895-znhbr   1/1       Running            0          15s
   ```
   
   
5. 创建服务。 
   ```
   kubectl create -f nginx-elb-svc.yaml
   ```
   回显如下，表示服务已创建。
   ```
   service/nginx created
   ```
   查看已创建的服务。
   ```
   kubectl get svc
   ```
   回显如下，表示工作负载访问方式已设置成功。
   ```
   NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
   kubernetes   ClusterIP      10.247.0.1       <none>        443/TCP        3d
   nginx        LoadBalancer   10.247.130.196   10.78.42.242   80:31540/TCP   51s
   ```
   
   
6. 在浏览器中输入访问地址，例如输入10.78.42.242:80。10.78.42.242为负载均衡实例IP地址，80为对应界面上的访问端口。 
   可成功访问nginx。
   图4通过负载均衡访问nginx   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002391161425.png "点击放大")
   
   
 
 #### 负载均衡前/后端协议对应关系说明及配置样例
在创建负载均衡时，选择监听器前端协议后仅支持关联与之匹配的后端协议，监听器前端协议和后端协议对应关系如下：
| 监听器前端协议 | 支持的后端协议                                     | 全局配置示例                                                                                                                                                                                                                                                                                                                                                         | 自定义配置示例                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| UDP     | UDP（默认^[a]^）  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542685721.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'off' ```                                                                                 | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002511086188.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"UDP","lb_algorithm":"ROUND_ROBIN","target_service_port":"UDP:xx"}]' ```                                              |
| UDP     | QUIC                                        | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542566307.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"QUIC","lb_algorithm":"QUIC_CID","quic_cid_hash_strategy":{"len":3,"offset":1}}]' ``` | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542686517.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"QUIC","lb_algorithm":"QUIC_CID","quic_cid_hash_strategy":{"len":3,"offset":1},"target_service_port":"UDP:xx"}]' ``` |
| TCP     | TCP                                         | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542686657.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'off' ```                                                                                  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510926766.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"TCP","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                                     |
| TLS     | TCP（默认^[a]^）  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542686817.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'off' ```                                                                                   | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542566879.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"TCP","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                                  |
| TLS     | TLS                                         | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002511087094.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'on' ```                                                                                  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542686975.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"TLS","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                          |
| HTTP    | HTTP                                        | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510927234.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'off' ```                                                                                  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542567267.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTP","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                       |
| HTTPS   | HTTP（默认^[a]^） | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510927444.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'off' ```                                                                                           | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002511087352.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTP","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                             |
| HTTPS   | HTTPS                                       | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510927570.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.security-pool-protocol: 'on' ```                                                                                          | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542567569.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTPS","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                              |
| QUIC    | HTTP（默认^[a]^） | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002542567835.png "点击放大") annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTP","lb_algorithm":"ROUND_ROBIN"}]' ```                                                  | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510927782.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTP","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                              |
| QUIC    | HTTPS                                       | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002511088148.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTPS","lb_algorithm":"ROUND_ROBIN"}]' ```                                         | 控制台配置示例： ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002510927672.png "点击放大")  annotation配置示例： ``` kubernetes.io/elb.pools-options: '[{"protocol":"HTTPS","lb_algorithm":"ROUND_ROBIN","target_service_port":"TCP:xx"}]' ```                                           |
   
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
- a：当后端分配策略使用全局配置时，如果添加了多个监听器端口，且部分监听器端口的前端协议不支持全局配置中的后端协议，这些端口的后端协议将采用默认值。
 
#### 相关文档
- 创建LoadBalancer类型的服务通常为您提供四层的网络访问，如果您需要提供七层网络访问，请[创建Ingress](https://support.huaweicloud.com/usermanual-cce/cce_10_0248.html)。
- 如果您在使用LoadBalancer类型的服务时出现无法访问的问题，您可以参考[负载均衡类型Service异常问题排查](https://support.huaweicloud.com/cce_faq/cce_faq_00473.html)寻找解决方案。
- 如果您需要配置更多高级功能，请参见[负载均衡服务注解（Annotations）配置全集](https://support.huaweicloud.com/usermanual-cce/cce_10_0385.html)。
- 更多关于Kubernetes Service的API结构，您可以访问[Kubernetes官方网站](https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/service-resources/service-v1/)查询。
 
