作者:架构驿站 2023-09-02 21:27:09
云计算
云原生 今天我们来聊一下云原生生态核心技术之流量管理—— Kubernetes Ingress Controller。
今天我们来聊一下云原生生态核心技术之流量管理—— Kubernetes Ingress Controller。
在云原生生态中,通常来讲,入口控制器( Ingress Controller )是 Kubernetes 中的一个关键组件,用于管理入口资源对象。
Ingress 资源对象用于定义来自外网的 HTTP 和 HTTPS 规则,以控制进入集群内服务的流量。而 Ingress Controller 则是真正实现 Ingress 规则的组件。
从更为准确的角度而言,入口控制器( Ingress Controller )管理 L4 和 L7 层请求的南北向流量,也就是我们所说的从集群外部进入或离开集群的流程。它通过解析 Ingress资源对象,配置负载调度规则,将外部请求按照域名、路径等规则转发到集群内后端服务 Pod 上。
而集群内服务之间的东西向流量,则由服务发现机制进行管理。例如 Pod 根据服务名称查询对方 Pod IP 进行通信。
我们可以从更广泛的视角来理解这两种流量:
在整个网络拓扑架构中,两者各司其职,形成了完整流量治理体系。入口控制器( Ingress Controller )统一入口,服务发现则实现内部流量的松耦合通讯。这样既保证了外部访问安全,也实现了集群内各服务的高可用调用。这对于 Kubernetes 原生应用架构调优和流量管控都大有利处。
从更为专业的角度进行补充:Ingress 本身只是一个 API 对象,定义了集群外部流量如何进入集群内各个服务的路由规则,但是它本身无法直接实现这些路由。
这里需要一个控制平面组件-入口控制器( Ingress Controller ),它监听 Ingress 资源对象的变更,并根据 Ingress 规则进行配置。一般来说,入口控制器实现了反向代理功能,例如 Nginx Ingress 或 Traefik 等。
入口控制器( Ingress Controller )通过监听节点的某个端口,接收集群外部流量。它将根据 Ingress 定义的规则,如域名、URL路径、主机名等进行匹配,然后利用负载均衡技术将流量转发至后端对应的 Pod 服务实例上。
同时,入口控制器( Ingress Controller )也可以提供更丰富的流量管理能力,诸如基于IP或用户名密码的访问控制;超时重试与隔离;跨区域流量管理等。它通过对外提供统一入口,为内部服务提供安全可靠的对外访问表现层。
通常,在容器云平台,尤其是私有云环境下,Kubernetes Cluster 内各个 Pod 仅能互相访问,但外部网络无法直接访问到集群内的 Pod,这样保证了集群的安全性。
当需要对外提供服务时,我们可以创建 Ingress 资源对象来定义路由规则,比如基于域名或 URL 路径将流量转发到后端不同服务上。
但是 Ingress 资源本身只是一个声明,无法直接实现流量转发这一功能。此时需要部署一个控制平面组件 入口控制器( Ingress Controller ) Pod(如 Nginx 或者 Traefik ),它会检测 Ingress 对象的变更,并根据 Ingress 规则配置负载均衡设备或自身作反向代理。
入口控制器( Ingress Controller )以 Pod 形式运行在集群内,从集群外部流入的请求通过 入口控制器( Ingress Controller ) 入口被转发到后端服务上。
同时,入口控制器( Ingress Controller ) 不仅可以实现单纯的循环请求分配,也支持根据目标 URL 或域名提供虚拟主机、HTTPS、认证等附加能力,充分利用其作为入口的功能。
因此,只有通过入口控制器( Ingress Controller ),才能真正意义上实现 Ingress 定义的复杂流量管理规则,同时也通过统一入口对外提供安全可靠的服务访问能力,这就是 Ingress 实现外部访问的标准解决方案。
通常而言,入口控制器( Ingress Controller )的一般工作原理,注涉及如下,具体:
通常而言,入口控制器(Ingress Controller)是一个在 Kubernetes Cluster 中运行的组件,用于管理和控制流入集群的网络流量。其主要解决了以下几个关键问题:
名称栏目:一文搞懂IngressController本质
地址分享:http://www.csdahua.cn/qtweb/news9/351809.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网