在 Kubernetes(简称 K8S)中,Ingress 是一种 API 资源对象,用于管理从集群外部访问到集群内部服务的 HTTP 和 HTTPS 连接。它主要用来定义网络路由规则,允许外部用户通过特定的路径访问部署在集群内的应用服务。Ingress 控制器则是实际实现这些规则的组件,通常运行在一个或多个 Pod 中,并监听特定的 IP 地址和端口。
1、统一入口控制
通过定义Ingress 资源(如主机名和路径映射),为集群内多个服务提供统一的外部访问入口,简化外部流量管理。
2、HTTP/HTTPS 路由
支持基于主机名、路径的路由规则配置,将外部请求定向至集群内的具体服务,实现精细化流量控制。
3、SSL 终止与安全保障
可集成 SSL 证书加密和解密功能,确保数据传输安全性,同时支持HTTP 头部修改等安全策略。
4、负载均衡
通过 Ingress 控制器(如 NGINX、Traefik)实现多实例服务的负载均衡,优化资源分配效率。
5、多场景适用性
适用于多服务管理场景,支持域名路由(如不同子域名访问不同应用)、路径级路由(如 /api 路由到特定服务)等复杂需求。