本章讲解知识点
-
- Ingress 7层路由机制
我们之前讲了 Service 的类型。除了 clusterIP 以外,另外三种方式都不推荐,因为这相当于将集群给暴露出去了,不安全,也不符合隔离的思想。
所以在 clusterIP 的基础上结合 Ingress 就可以做到安全将服务开放给外部。
这一节我们着重讲解 Ingress 。
1. Ingress 7层路由机制
1.1 背景
根据前面对 Service 概念的说明,我们知道 Service 的表现形式为 IP 地址和端口号(ClusterIP:IP),即工作在 TCP/IP 层。而对于基于 HTTP(S) 的服务来说,不同的 URL 地址经常对应到不同的后端服务或者虚拟服务器,这些应用层的转发机制仅通过 Kubernetes 的 Service 机制是无法实现的。Kubernetes 引入 Ingress 资源对象,用于将集群外的客户端请求路由到集群内部的服务上,同时提供 7 层(HTTP 和 HTTPS)路由功能。
1.2 基本概念
Ingress 是 Kubernetes 中的一种资源对象,用于实现 HTTP(S) 服务的外部访问控制和负载均衡。它提供了一种在集群外部公开 HTTP(S) 服务的方法,同时支持基于主机名和 URL 路径的多个服务路由。
Ingress 通过在 Kubernetes 集群中部署一个负载均衡器(通常是