从ingress-nginx提供静态文件

时间:2017-12-04 00:31:40

标签: nginx kubernetes

我有一个带有静态文件的express网络服务器。我们称之为express-deployment

我想使用我的ingress-nginx来提供express-deployment中的静态文件,而不会真正点击我的快速服务器。

nginx中,这是通过location指令完成的,您可以在其中指向本地托管的文件。虽然我在locations-snippet ingress-nginx中看到了configMap的选项,但我并不完全确定如何指向另一个容器中的文件。

ingress-nginx这可能吗?如果是这样我怎么去呢?或者,这是否需要在我的快递服务器旁边托管nginx容器? (似乎很奇怪,我需要2个nginx)

2 个答案:

答案 0 :(得分:7)

理论上,您可以将RWX模式下的PV安装到express和ingress,并为nginx-ingress pod提供自定义配置,但应该避免这种情况。 Ingress Controller有一个职责 - 实现集群中定义的Ingress规则。要提供静态内容,你应该有一个pod来做那个,这的确意味着即。在你的堆栈中运行第二个nginx。问题是,您应该将入口控制器视为提供通用集群功能的基础架构的一部分,并且从某个地方(或容器,如果它们被版本化/构建为docker映像)提供静态文件实际上是应用程序的一部分。 / p>

答案 1 :(得分:0)

如果是 django 应用,请查看 whitenoise http://whitenoise.evans.io/en/stable/ 以在此处提供解决方案。

这是一个直截了当的建议,但我花了很多时间搜索才发现它被引用。

相关问题