本文介绍Ingress基本概念、ALB Ingress Controller工作原理和ALB Ingress Controller使用说明。

Ingress基本概念

在Kubernetes集群中,Ingress作为集群内服务对外暴露的访问接入点,其几乎承载着集群内服务访问的所有流量。Ingress是Kubernetes中的一个资源对象,用来管理集群外部访问集群内部服务的方式。您可以通过Ingress资源来配置不同的转发规则,从而达到根据不同的规则设置访问集群内不同的Service后端Pod。

ALB Ingress Controller工作原理

ALB Ingress Controller通过API Server获取Ingress资源的变化,动态地生成Albconfig,然后依次创建ALB实例、监听、路由转发规则以及后端服务器组。Kubernetes中Service、Ingress与Albconfig有着以下关系:

  • Service是后端真实服务的抽象,一个Service可以代表多个相同的后端服务。
  • Ingress是反向代理规则,用来规定HTTP/HTTPS请求应该被转发到哪个Service上。例如:根据请求中不同的Host和URL路径,让请求转发到不同的Service上。
  • Albconfig是在ALB Ingress Controller提供的CRD资源,使用ALBConfig CRD来配置ALB实例和监听。一个Albconfig对应一个ALB实例。
ALB Ingress

ALB Ingress Controller使用说明

注意 为Ingress服务的ALB是由Controller完全托管的,您不能自行在ALB控制台上进行配置,否则可能造成Ingress服务的异常。

ALB Ingress基于阿里云应用型负载均衡ALB(Application Load Balancer)之上提供更为强大的Ingress流量管理方式,兼容Nginx Ingress,具备处理复杂业务路由和证书自动发现的能力,支持HTTP、HTTPS和QUIC协议,完全满足在云原生应用场景下对超强弹性和大规模七层流量处理能力的需求。