【发布时间】:2020-04-29 04:38:11
【问题描述】:
我目前正在尝试将 React SPA 设置为 kubernetes 上的部署/服务。就像我目前正在运行的后端服务一样,我希望能够在 Ingress 后面点击它。
因为 SPA 只是一堆静态文件,所以我通过 nginx 公开这些文件。在部署中运行的容器安装了 nginx 来提供静态资产(docker 文件中的nginx -g daemon off)。如果我使用 LoadBalancer 公开部署,这完全可以正常工作,但如果我使用 Ingress,我不会得到任何响应。在入口后面提供静态资产时,有什么特别的事情需要考虑吗?或任何已知的参考/资源这样做?
这是我的 ingress.yml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: web-static-ip
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: api.my-domain.com
http:
paths:
- backend:
serviceName: web-backend-service
servicePort: 80
- host: app.my-domain.com
http:
paths:
- backend:
serviceName: web-frontend-service
servicePort: 80
【问题讨论】:
-
你能分享你的
ingress.yaml吗?
标签: reactjs nginx kubernetes create-react-app kubernetes-ingress