作者:元毅
审核校对:溪洋、海珠
编辑&排版:雯燕
背景
随着云原生应用微服务化、Serverless 化,用户需要面对复杂路由规则可配置、支持多种应用层协议(HTTP、HTTPS 和 QUIC等)、服务访问的安全性以及流量的可观测性等诉求。传统的基于四层 SLB Ingress ,已无法满足这些诉求。
阿里云容器服务 ALB Ingress Controller 基于应用型负载均衡 ALB(Application Load Balancer)之上提供全托管免运维的 Ingress 流量管理。依托阿里云容器服务 Kubernetes 产品,兼容 Nginx Ingress 语义,具备配置以及管理复杂业务路由的能力,证书自动发现,流量入口可观测,同时支持多种应用层协议(QUIC 等),具备大规模七层流量处理能力,让用户轻松应对云原生应用流量管理。
ALB 产品
应用型负载均衡 ALB(Application Load Balancer)是阿里云推出的专门面向 HTTP、HTTPS 和 QUIC 等应用层负载场景的负载均衡服务,具备超强弹性及大规模七层流量处理能力。
ALB 特性
弹性自动伸缩:ALB 同时提供域名与 VIP(Virtual IP address),支持对多台云服务器进行流量分发以扩展应用系统的服务能力,通过消除单点故障来提升应用系统的可用性。ALB 允许您自定义可用区组合,并支持在可用区间弹性缩放,避免单可用区资源瓶颈。
高级的协议支持:ALB 支持应用传输协议 QUIC,在实时音视频、互动直播和游戏等移动互联网应用场景中,访问速度更快,传输链路更安全可靠。ALB 同时支持 gRPC 框架,可实现海量微服务间的高效 API 通信。
基于内容的高级路由:ALB 支持基于 HTTP 标头、Cookie、HTTP 请求方法等多种规则来识别特定业务流量,并将其转发至不同的后端服务器。同时 ALB 还支持重定向、重写以及自定义 HTTPS 标头等高级操作。
安全加持:ALB自带分布式拒绝服务 DDoS(Distributed Denial of Service)防护,一键集成 Web 应用防火墙(Web Application Firewall,简称 WAF)。同时 ALB 支持全链路 HTTPS 加密,可以实现与客户端或后端服务器的 HTTPS 交互;支持 TLS 1.3 等高效安全的加密协议,面向加密敏感型业务,满足 Zero-Trust 新一代安全技术架构需求;支持预制的安全策略,您可以自定义安全策略。
云原生应用:在云原生时代,PaaS 平台将下沉到基础设施,成为云的一部分。随着云原生逐步成熟,互联网、金融、企业等诸多行业新建业务时选择云原生部署,或对现有业务进行云原生化改造。ALB 与容器服务 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,简称 ACK)深度集成,是阿里云的官方云原生 Ingress 网关。
弹性灵活的计费:ALB 通过弹性公网 IP(Elastic IP Address,简称EIP)和共享带宽提供公网能力,实现公网灵活计费;同时采用了更先进的、更适合弹性业务峰值的基于容量单位(LCU)的计价方案。
阿里云容器服务 ALB Ingress Controller
阿里云容器服务 ALB Ingress Controller 是基于阿里云应用型负载均衡 ALB(Application Load Balancer)之上提供更为强大的 Ingress 流量管理方式,兼容 Nginx Ingress,具备处理复杂业务路由和证书自动发现的能力,支持 HTTP、HTTPS 和 QUIC 协议,完全满足云原生应用场景下对超强弹性和大规模七层流量处理能力的需求。
实现原理
ALB Ingress Controller 通过 API Server 监听 kubernetes Ingress 资源的变化,动态地生成 Albconfig(Albconfig 是在 ALB Ingress Controller 提供的 CRD 资源,用于 ALB 实例配置),然后依次创建 ALB 实例、监听、路由转发规则以及后端服务器组。Kubernetes 中 Service、Ingress 与 Albconfig 有着以下关系:
-
Service 是后端真实服务的抽象,一个 Service 可以代表多个相同的后端服务。
-
Ingress 是反向代理规则,用来规定 HTTP/HTTPS 请求应该被转发到哪个 Service 上。例如:根据请求中不同的 Host 和 URL 路径,让请求转发到不同的 Service上。
-
Albconfig 是在 ALB Ingress Controller 提供的 CRD 资源,使用 ALBConfig CRD 来配置 ALB 实例和监听。一个 Albconfig 对应一个 ALB 实例。
产品优势
丰富的转发特性
-
基于 Header、Cookie 转发
-
域名 URL 转发:支持根据不同的域名和 URL 进行流量调度,提升应用系统灵活性。
高弹性大吞吐
针对负载均衡实例,首家提出性能保障的云计算厂商。
-
性能保障型实例:推出性能保障型实例,实现不同实例间的性能隔离,提供相应规格下的性能保障。
-
超大性能规格:针对高性能需求,提供超大规格的负载均衡实例,解决性能瓶颈问题。
面向云原生应用
-
基于原生 Kubernetes Ingress
-
天然支持阿里云容器服务 Kubernetes 产品
-
兼容 Nginx Ingress 语义
更安全可靠
-
组件托管,高可用免运维
-
证书管理:自动发现证书。
应用场景
ALB 目前支持的场景包括高弹性互联网场景、视音频行业低延迟场景、面向云原生应用场景等。
小结
当前阿里云容器服务 ALB Ingress Controller 已开放公测,用户可以通过容器服务控制台直接部署 ALB Ingress Controller,支持 ACK 托管版、ACK 专有版以及 Serverless Kubernetes。
点击此处了解更多产品相关信息:
相关链接:
1)ALB Ingress介绍:
https://help.aliyun.com/document_detail/284514.html
2)ALB 介绍:
https://help.aliyun.com/document_detail/197202.html