Docker 使用ingress nginx为kubernetes中的静态资产提供服务

Docker 使用ingress nginx为kubernetes中的静态资产提供服务,docker,nginx,kubernetes,devops,minikube,Docker,Nginx,Kubernetes,Devops,Minikube,我有一个Pod,其中包含一个NodeJS项目的映像,该项目服务于vuejs(手动SSR)的构建 我有一个入口控制器,用于将主机与连接到Pod的服务相匹配,如下所示: 我面临的问题是,静态资产(CSS、JS和图像)无法提供服务,因此它们需要一个“服务器”来处理这些文件 我试图让Pod挂载两个容器,NodeJS+Nginx容器,并将静态文件复制到Nginx/var/www/html中,然后使用Nginx位置规则从那里为它们提供服务,但将其投入生产似乎有些过火 我很好奇,最好的方法是如何做到这一点,

我有一个Pod,其中包含一个NodeJS项目的映像,该项目服务于vuejs(手动SSR)的构建 我有一个入口控制器,用于将主机与连接到Pod的服务相匹配,如下所示:

我面临的问题是,静态资产(CSS、JS和图像)无法提供服务,因此它们需要一个“服务器”来处理这些文件

我试图让Pod挂载两个容器,NodeJS+Nginx容器,并将静态文件复制到Nginx/var/www/html中,然后使用
Nginx位置规则
从那里为它们提供服务,但将其投入生产似乎有些过火

我很好奇,最好的方法是如何做到这一点,也许是使用入口控制器规则/注释?还是我错过了什么

我的入口控制器看起来像:

apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 名称:ingress nginx 注释: kubernetes.io/ingres.class:“nginx” 规格: 规则: -主持人:test.ssr.local http: 路径: -路径:/ 后端: 服务名称:服务内部ssr 服务端口:8080 我的部署如下所示:

apiVersion:apps/v1 种类:部署 元数据: 名称:ssr 规格: 选择器: 火柴标签: 应用程序:ssr 模板: 元数据: 标签: 应用程序:ssr 规格: -名称:ssr 图片:。。。 资源: 限制: 中央处理器:0.5 内存:1000Mi 请求: cpu:0.2 内存:500Mi 端口: -名称:应用程序端口 集装箱港口:2055 --- 版本:v1 种类:服务 元数据: 名称:服务内部ssr 规格: 类型:集群 选择器: 应用程序:ssr 端口: -端口:8080 目标港:2055
提前感谢您

我建议您使用bucket或CDN之类的工具提供静态内容,这些工具尽可能靠近客户机,更适合此用例。使用K8s进行此操作是一种过度杀伤力。

我知道这是一种过度杀伤力,也可以通过CDN进行此操作,但对于此PoC,我必须使用K8s进行此操作,因为目前,我无法通过CND进行此操作,因此最好了解如何进行此操作:)