为ELB Ingress配置IP类型的后端
- 共享型ELB支持添加的后端服务器类型为云服务器,CCE Standard集群和Turbo集群添加的后端服务器都是云服务器(即节点)。
- 独享型ELB支持添加的后端服务器类型为云服务器、辅助弹性网卡、IP类型后端,其中CCE Standard集群添加的后端服务器为云服务器(即节点),CCE Turbo集群添加的后端服务器为辅助弹性网卡(即Pod的IP)。
在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或Pod IP地址作为后端服务器。
前提条件
- 已创建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连接集群。
通过kubectl命令行配置
- 请参见通过kubectl连接集群,使用kubectl连接集群。
- 创建名为“ingress-test.yaml”的YAML文件,此处文件名可自定义。
vi ingress-test.yaml
以关联已有ELB为例,YAML配置文件如下:apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-test annotations: kubernetes.io/elb.id: <your_elb_id> #替换为您已有的ELB ID kubernetes.io/elb.class: performance #ELB类型,需指定独享型ELB kubernetes.io/elb.port: '80' kubernetes.io/elb.ip-target-enabled: 'true' #配置IP类型后端 spec: rules: - host: '' http: paths: - path: '/' backend: service: name: <your_service_name> #替换为您的目标服务名称 port: number: 8080 #替换为您的目标服务端口 property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH pathType: ImplementationSpecific ingressClassName: cce
表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无法添加和删除该annotation,如需使用特性,请新建Service/Ingress。
- 如果Service/Ingress所使用的负载均衡器未开启IP类型后端功能,添加annotation后CCE会自动开启开关,且开启后无法关闭。
- 请确保Service/Ingress所使用的负载均衡器后端子网有足够的IP地址,否则该功能无法正常使用。您可以通过负载均衡器的“基本信息 > 后端子网”添加多个后端子网来增加后端子网的IP地址。
- 其他注意事项请参考通过IP类型后端功能添加服务器至ELB。
- 创建Ingress。
kubectl create -f ingress-test.yaml
回显如下,表示Ingress服务已创建。
ingress/ingress-test created
- 查看已创建的Ingress。
kubectl get ingress
回显如下,表示Ingress服务创建成功。
NAME CLASS HOSTS ADDRESS PORTS AGE ingress-test cce * 121.**.**.** 80 10s
验证IP类型的后端是否创建成功
- 登录ELB控制台。
- 找到Ingress关联的ELB,单击ELB名称。
- 查看基本信息,该ELB已开启“IP类型后端”。
- 切换至“监听器”页签,查看监听器的后端服务器已添加为IP类型后端。