为什么我们要在单独的nginx容器中部署静态web应用程序?

为什么我们要在单独的nginx容器中部署静态web应用程序?,nginx,kubernetes,kubernetes-ingress,nginx-ingress,Nginx,Kubernetes,Kubernetes Ingress,Nginx Ingress,我在互联网上找到的所有教程都演示了如何在nginx容器中部署网站/应用程序,以及如何设置入口,以向该容器发送与代理相关的请求 这对我来说似乎有点多余。为什么不将内容放在一个卷上,将其装载到ingress nginx controller并从那里提供静态资产。从性能的角度来看,这似乎更好:没有额外的代理,也没有额外的容器(使用nginx)消耗计算资源。资源是一个抽象概念,设计用于将HTTP/S请求路由到kubernetes服务。它定义了该功能的有限子集,以保持通用性,并由多种类型的入口控制器实现

我在互联网上找到的所有教程都演示了如何在nginx容器中部署网站/应用程序,以及如何设置入口,以向该容器发送与代理相关的请求

这对我来说似乎有点多余。为什么不将内容放在一个卷上,将其装载到ingress nginx controller并从那里提供静态资产。从性能的角度来看,这似乎更好:没有额外的代理,也没有额外的容器(使用nginx)消耗计算资源。

资源是一个抽象概念,设计用于将HTTP/S请求路由到kubernetes服务。它定义了该功能的有限子集,以保持通用性,并由多种类型的入口控制器实现

只是入口控制器的一个实现,它恰好也擅长于服务静态内容,或者说是在天平的另一端

基于nginx的入口控制器可以添加自定义来支持您所建议的自定义内容,但我想您很难在项目中对此进行论证。在内部,他们已经为默认后端添加了第二个nginx实例


如果一个代理跃点是性能上的一个关键区别,那么在边缘CDN/设备上托管静态内容可能会获得更多好处。另一种选择是不依赖入口并将服务直接发布到外部世界。

您需要一个容器来运行应用程序。入口服务仅用于访问Kubernetes集群之外的应用程序。您不能仅将内容保留在卷中并将其装载到入口控制器。一个入口控制器用于路由多个应用程序的请求。

能否提供指向其中一个教程的链接?背景很重要。