【问题标题】:What is the difference between an Ingress and a reverse proxy?Ingress 和反向代理有什么区别?
【发布时间】:2020-04-29 17:55:29
【问题描述】:

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

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

这是否意味着它由两部分组成——API 和一些实际反向代理之间的接口?意思是,“入口”只是一个 kubernetes 术语,用于在其上强制执行 Kubernetes 的 API 的 NGINX RP 的包装器,或者它是一种完全独立的服务器类型?

您能否列出一些两者之间的差异?

【问题讨论】:

    标签: nginx networking kubernetes


    【解决方案1】:

    你的理解是对的。Ingress 有两个部分,一个控制器,它实现了 kubernetes ingress API 接口,用于自动快速地配置反向代理,例如 nginx 或 envoy。

    另一部分是反向代理本身如nginx、envoy。

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

    【讨论】:

      【解决方案2】:

      有多个供应商实施IngressController。甚至nginx 也有一个。

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

      【讨论】:

      • 很好的解释。
      猜你喜欢
      • 1970-01-01
      • 2016-02-23
      • 2018-06-03
      • 2019-05-16
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      相关资源
      最近更新 更多