入口和反向代理有什么区别?



目前,我正在研究Kubernetes,我遇到了术语Ingress对象。我想知道两者之间是否有一系列差异,因为对我来说它们似乎是同义词。对我来说,NGINX似乎是一个功能更强大的入口,因为它允许例如视频和图像压缩,预取和缓存。

另一方面,入口似乎与NGINX的反向代理重叠,提供负载平衡,流量路由,TLS/SSL终止。与NGINX/Envoy RP相比,我看到的唯一入口可能是它是一个"kubernetes API对象"。

这是否意味着它由 2 部分组成 - API 和一些实际反向代理之间的接口部分?这意味着,"入口"只是一个 Kubernetes 术语,指的是在其上强制执行 Kubernetes API 的 NGINX RP 包装器,还是它是一种完全独立的服务器类型?

您能否列出两者之间的一些区别列表?

你的理解是对的。Ingress 有两个部分,一个控制器,它实现了 Kubernetes 入口 API 接口,用于自动和快速配置反向代理(如 Nginx 或 envoy(。

另一部分是反向代理本身,例如Nginx,特使。

因此,当您在 Kubernetes 中部署入口设置时,它将在 Kubernetes 集群中部署入口控制器和反向代理。

有多个供应商实现IngressController。即使nginx也有一个。

您对 Kubernetes 中的Ingress资源就像我们过去手动部署的反向代理一样是正确的。IngressController服务是接收流量的实际反向代理。您创建的 kubernetes 资源Ingress类似于您将创建的nginx.conf配置文件。您可以通过运行nginx部署来创建和运行自己的Ingress,将其包装为LoadBalancer服务,并通过手动创建nginx.conf文件来表达流量规则。相反Ingress使用资源只是在 Kubernetes 中执行此操作的原生且更简单的方法。

最新更新