
# 为负载均衡类型的Service配置IP类型的后端
默认情况下，在CCE集群中创建Service或Ingress对接ELB时，CCE会自动在ELB监听器添加对应的后端服务器，具体情况如下：
- 共享型ELB支持添加的后端服务器类型为云服务器，CCE Standard集群和Turbo集群添加的后端服务器都是云服务器（即节点）。
- 独享型ELB支持添加的后端服务器类型为云服务器、辅助弹性网卡、IP类型后端，其中CCE Standard集群添加的后端服务器为云服务器（即节点），CCE Turbo集群添加的后端服务器为Pod绑定的辅助弹性网卡。 在v1.25.16-r30、v1.27.16-r30、v1.28.15-r20、v1.29.13-r0、v1.30.10-r0、v1.31.6-r0、v1.32.1-r0及以上版本的集群中，支持为独享型ELB添加IP类型后端，可添加IP地址作为后端服务器，ELB的转发直接指向节点IP（CCE Standard）或Pod IP（CCE Turbo）。
  
 
如[图1]所示，如果多个ELB实例或多个监听器挂载相同后端服务器，同一个客户端通过这些ELB实例访问到相同的后端服务器时，后端服务器从弹性负载均衡处接收的客户端请求报文的源IP和源端口相同，会导致访问概率性失败或超时。详细说明请参见[为什么同一客户端同时访问不同ELB实例、IP或端口会概率性超时？](https://support.huaweicloud.com/elb_faq/elb_faq_0101.html)。如果将ELB的后端服务器配置为IP类型，则可有效避免上述问题。
图1IP类型后端应用场景   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002357913201.png)
#### 前提条件
- 已创建Kubernetes集群，且集群版本满足以下要求：
  - v1.25集群：v1.25.16-r30及以上
  
  - v1.27集群：v1.27.16-r30及以上
  
  - v1.28集群：v1.28.15-r20及以上
  
  - v1.29集群：v1.29.13-r0及以上
  
  - v1.30集群：v1.30.10-r0及以上
  
  - v1.31集群：v1.31.6-r0及以上
  
  - v1.32集群：v1.32.1-r0及以上
  
  - 其他更高版本集群
   
- 如果您需要通过命令行创建，请使用kubectl连接到集群，详情请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0107.html)。
 
#### 通过kubectl命令行配置
1. 请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0107.html)，使用kubectl连接集群。
2. 创建名为"**service-test.yaml** "的YAML文件，此处文件名可自定义。
   
   ```
   vi service-test.yaml
   ```
   以关联已有ELB为例，YAML配置文件如下：
   ```
   apiVersion: v1
   kind: Service
   metadata:
     name: service-test
     labels:
       app: test
       version: v1
     namespace: default
     annotations:
       kubernetes.io/elb.class: performance  #需使用独享型ELB
       kubernetes.io/elb.id: <your_elb_id>  #替换为您已有的ELB ID
       kubernetes.io/elb.ip-target-enabled: 'true'  #配置IP类型后端
   spec:
     selector:
       app: test
       version: v1
     externalTrafficPolicy: Cluster
     ports:
       - name: cce-service-0
         targetPort: 80          #替换为您的容器端口
         nodePort: 0
         port: 80   
         protocol: TCP  
     type: LoadBalancer
     loadBalancerIP: <your_elb_ip>  #替换为您已有的ELB私有IP
   ```
   表1配置IP类型后端参数说明 
   | 参数                                  | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|
   | kubernetes.io/elb.ip-target-enabled | String | 表示为ELB配置IP类型的后端，启用后该Service/Ingress添加的后端地址均为VPC子网内的IP。其中CCE Turbo集群的后端为\<Pod IP\>:\<targetPort\>，CCE Standard集群的后端为\<节点IP\>:\<NodePort\>。 - true：表示配置IP类型的后端。  - 不支持其他取值   注意： - 仅独享型ELB支持该特性。  - 该特性仅在创建Service/Ingress时支持开启，已经存在的Service/Ingress无法添加和删除该annotations，如需使用特性，请新建Service/Ingress。  - 如果Service/Ingress所使用的负载均衡器未开启IP类型后端功能，添加annotations后CCE会自动开启开关，且开启后无法关闭。  - 请确保Service/Ingress所使用的负载均衡器后端子网有足够的IP地址，否则该功能无法正常使用。您可以通过负载均衡器的"基本信息 \> 后端子网"添加多个后端子网来增加后端子网的IP地址。  - 其他注意事项请参考[通过IP类型后端功能添加服务器至ELB](https://support.huaweicloud.com/bestpractice-elb/elb_bp_0301.html)。   |
      
   
   
3. 创建Service。 
   ```
   kubectl create -f service-test.yaml
   ```
   回显如下，表示Service已创建。
   ```
   service/service-test created
   ```
   
   
 
#### 验证IP类型的后端是否创建成功
1. 登录[ELB控制台](https://console.huaweicloud.com/vpc/#/elb/list/grid)。
2. 找到Service关联的ELB，单击ELB名称。
3. 查看基本信息，该ELB已开启"IP类型后端"。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002357841741.png "点击放大")
   
   
   
4. 切换至"监听器"页签，查看监听器的后端服务器已添加为IP类型后端。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002357843757.png "点击放大")
   
   
   
 
