
# ELB与云原生应用
ELB可以作为云容器引擎CCE流量入口的负载均衡器，通过ELB接入客户的服务请求并转发到CCE的POD/容器中。
CCE中使用ELB的场景如下：
1. CCE的service 主要使用ELB的4层（TCP/UDP监听器）作为负载均衡， 也支持使用7层(HTTP/HTTPS监听器）作为负载均衡，使用一些7层功能，如证书卸载、7层访问日志、7层丰富的CES监控指标等。
2. CCE的ELB ingress 使用ELB的7层（HTTP/HTTPS监听器)，支持更多应用层高级功能，如7层路由，证书卸载、7层访问日志，7层丰富的监控指标。
CCE具有强大的弹性能力和自动化能力，能快速拉起后端负载，结合ELB可以实现的服务的高可用、灰度发布等多种弹性和高可用场景。
#### CCE集群通过负载均衡类的服务对外提供访问
负载均衡（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/bestpractice-elb/zh-cn_image_0000002389501129.png "点击放大")
如果您需要配置负载均衡类型的服务，请参考[创建负载均衡类型的服务](https://support.huaweicloud.com/usermanual-cce/cce_10_0681.html)。
#### 通过注解（Annotations）配置负载均衡的高级功能
创建LoadBalancer类型的服务通常为您提供四层的网络访问。通过在YAML中添加注解Annotation（注解），您可以实现CCE提供的一些高级功能。
如果您需要在创建LoadBalancer类型的Service时配置更多高级功能，请参考[使用注解（Annotations）配置负载均衡的高级功能](https://support.huaweicloud.com/usermanual-cce/cce_10_0385.html)。
#### 云容器引擎CCE使用ELB Ingress
Service基于TCP和UDP协议进行访问转发，为集群提供了四层负载均衡的能力。但是在实际场景中，Service无法满足应用层中存在着大量的HTTP/HTTPS访问需求。因此，Kubernetes集群提供了另一种基于HTTP协议的访问方式------Ingress。
Ingress是Kubernetes集群中一种独立的资源，制定了集群外部访问流量的转发规则。如[图2]所示，用户可根据域名和路径对转发规则进行自定义，完成对访问流量的细粒度划分。
图2Ingress示意图   
![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000001243981115.png "点击放大")
当您希望在CCE集群中配置ELB Ingress实现Ingress流量管理时，请参考[路由（Ingress）概述](https://support.huaweicloud.com/usermanual-cce/cce_10_0094.html)。
#### 通过注解（Annotations）配置ELB Ingress高级功能
通过在YAML中添加注解（Annotations），您可以实现更多的Ingress高级功能，如果您有使用Ingress高级功能的需求请参考[使用注解（Annotations）配置ELB Ingress高级功能](https://support.huaweicloud.com/usermanual-cce/cce_10_0695.html)。
#### 自建Nginx Ingress迁移到ELB Ingress
ELB Ingress作为华为云CCE托管式Ingress方案，相较社区版nginx-ingress，在企业级应用场景中具备多维度显著优势。其核心优势在于托管式架构，无需用户部署维护控制器，华为云CCE全程负责高可用部署、故障自愈与版本迭代，大幅降低运维复杂度与人力成本。
依托华为云ELB分布式架构，该方案具备更强的性能支撑与弹性伸缩能力，可轻松应对高并发流量场景，无需手动优化配置即可实现负载自动扩容，保障业务峰值稳定运行。同时，其深度集成华为云WAF、证书托管、监控日志等生态服务，安全防护与合规能力一键启用，无需额外开发集成，简化企业级功能落地流程。
此外，可视化配置界面与完善的故障诊断工具，降低了K8s Ingress使用门槛，规则同步与问题排查效率更高。对于华为云CCE环境下的企业核心业务，ELB Ingress以"降本增效、安全可靠"为核心价值，成为兼顾性能、稳定性与易用性的优选方案。
您可以参考[自建Nginx Ingress迁移到ELB Ingress](https://support.huaweicloud.com/usermanual-cce/cce_10_0858.html)完成迁移。
#### 自定义部署Nginx Ingress Controller
[Nginx Ingress Controller](https://kubernetes.github.io/ingress-nginx/)是一款业界流行的开源Ingress控制器，有着广泛的应用。在大规模集群场景下，用户有在集群中部署多套Nginx Ingress Controller的诉求，不同流量使用不同的控制器，将流量区分开。例如，集群中部分服务需要通过公网Ingress方式对外提供访问，但是又有部分对内开放的服务不允许使用公网访问，只支持对同VPC内的其他服务访问，您可以通过部署两套独立的Nginx Ingress Controller，绑定两个不同的ELB实例来满足这类需求场景。
图3多个Nginx Ingress应用场景   
![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000001616513609.png "点击放大")
您可以参考[自定义部署Nginx Ingress Controller](https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0342.html)，实现在同一个集群中部署多个Nginx Ingress Controller。
