![](/img/trans.png)
[英]Kubernetes - Ingress-nginx routing error (Cannot connect frontend to backend)
[英]Serving static assets in kubernetes with ingress-nginx
我有一个 Pod,其中包含服务于 vuejs(手动 SSR)构建的 NodeJS 项目的图像,并且我有一个入口 controller 以将主机与连接到 Pod 的服务相匹配,如下所示:
我面临的问题是没有提供 static 资产(CSS、JS 和图像),因此他们需要一个“服务器”来处理这些文件。
我试图让 Pod 安装两个容器,NodeJS + Nginx 容器并将 static 文件复制到 Nginx /var/www/html 并使用nginx location rule
从那里为它们提供服务,但将其投入生产看起来有点矫枉过正。
我很好奇最好的方法是如何做到这一点,也许使用 Ingress controller 规则/注释? 或者我想念的某种方式?
我的 Ingress controller 看起来像:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-nginx
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: test.ssr.local
http:
paths:
- path: /
backend:
serviceName: service-internal-ssr
servicePort: 8080
我的部署看起来像:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ssr
spec:
selector:
matchLabels:
app: ssr
template:
metadata:
labels:
app: ssr
spec:
- name: ssr
image: ...
resources:
limits:
cpu: 0.5
memory: 1000Mi
requests:
cpu: 0.2
memory: 500Mi
ports:
- name: app-port
containerPort: 2055
---
apiVersion: v1
kind: Service
metadata:
name: service-internal-ssr
spec:
type: ClusterIP
selector:
app: ssr
ports:
- port: 8080
targetPort: 2055
先感谢您
我建议从存储桶或 CDN 之类的东西提供您的 static 内容,这些东西尽可能靠近客户端,更适合这种用例。 为此使用 K8s 是矫枉过正的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.