You need to enable JavaScript to run this app.
导航

路由规则概述

最近更新时间2022.08.29 20:14:12

首次发布时间2022.03.04 23:10:38

路由规则(Ingress)的本质是一系列 流量转发规则,这些规则基于 HTTP 和 HTTPS协议进行命中和转发,可以通过域名和路径对访问做到更细粒度的划分。

Ingress 作为 Kubernetes 集群中一种独立的资源,系统通过它来制定外部访问流量的转发规则,并通过 Ingress Controller 将其分配到一个或多个 Service 中。

容器服务中,支持基于开源 Nginx Ingress 或应用负载均衡器 ALB 实现的七层负载均衡和基于 CLB + Nginx Ingress 实现的完整四、七层负载均衡功能。

Nginx Ingress

Nginx Ingress 是使用 Nginx 作为反向代理和负载均衡器的 Kubernetes 的 Ingress 控制器。您可以在集群中部署容器服务提供的 Nginx Ingress 组件:ingress-nginx,实现七层负载均衡。

容器服务通过 Nginx Ingress 对接结合四层的网络负载均衡器 CLB ,在云端实现了完整的四、七层负载能力:

  1. 容器服务集群以组件化的方式提供 ingress-nginx 组件,有七层负载功能需求的用户需要安装组件。
  2. ingress-nginx 组件安装完成后,集群的中节点上会对应运行有 Nginx Ingress 实例。
  3. 通过在路由规则中配置负载均衡器的 ingress 类型ingress-nginx,实现 Nginx Ingress 的七层应用负载功能。

alt

CLB Ingress

CLB(Cloud Load Balancer)是一种将访问流量按策略分发给多台后端服务器的服务,可以扩展系统对外服务能力,消除单点故障,从而提高系统的整体可用性。

  1. 用户创建 Ingress 资源,在 Ingress 中配置流量访问转发规则,包括负载均衡器、URL、SSL 以及访问的后端(Backend)Service 端口等。
  2. Ingress Controller 实现 Ingress,当监听到 Ingress 资源发生变化时,就会根据其中定义的流量转发规则,在 CLB 侧重新配置监听器以及转发规则。
  3. 当用户进行访问时,CLB 根据配置的转发策略把流量转发到对应的后端服务器 Service 端口,最终访问到关联的各个工作负载。

alt

ALB Ingress

火山引擎应用型负载均衡(Application Load Balancer,ALB)专门面向七层设计,提供超强的业务处理性能。针对应用层网站、音视频应用等大流量分发场景,可以实现精细均衡的流量调度、消除单站点故障影响。火山引擎 ALB 支持 HTTP、HTTPS、HTTP/2、WebSocket、QUIC 等多种应用层协议接入,满足不同业务类型需求。

  1. 通过在路由规则中配置负载均衡器的 ingress 类型应用型负载均衡 ALB,配置流量访问转发规则,包括负载均衡器、URL、TLS 以及访问的后端(Backend)Service 端口等。
  2. ALB Ingress Controller 通过 API Server 获取 Ingress 资源的变化。
  3. 当监听到 Ingress 资源发生变化时,就会根据其中定义的流量转发规则,在 ALB 侧重新配置监听器以及转发规则。
  4. 当用户进行访问时,ALB 根据配置的转发策略把流量转发到对应的后端服务器 Service 端口,最终访问到关联的各个工作负载。

alt