目前,我正在研究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 中执行此操作的原生且更简单的方法。