nginx - 如何将 nginx 配置转换为入口 kubernetes yaml 配置?
问题描述
我在 Kubernetes 上部署了 Vue JS。我需要在这个页面上配置 nginx 路由:
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
配置是这样的:
location / {
try_files $uri $uri/ /index.html;
}
如何将该配置转换为入口 kubernetes yaml 配置?
我试过这个但不起作用
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /index.html
name: backoffice
namespace: default
selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/backoffice
spec:
rules:
- host: dev.abc.com
http:
paths:
- backend:
serviceName: backoffice-svc
servicePort: 443
path: /
我尝试使用此注释但仍然无法正常工作:
nginx.ingress.kubernetes.io/app-root: /app1
解决方案
Ingress可能如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: some-nice-server
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: "some.nice.server.com"
http:
paths:
- path: /something1/?(.*)
backend:
serviceName: something-1
servicePort: 8080
这在Kubernetes Ingress-Nginx dosc 中有很好的解释。
或者,您也可以在注释中使用配置片段:
...
nginx.ingress.kubernetes.io/configuration-snippet: |
try_files $uri $uri/ /index.html;
...
推荐阅读
- javascript - Zombie.js 无法访问 DOM 元素的数据集属性
- android - 如何从linkedIn API V2 获取个人资料URL?
- windows - Winows 7 CommandLine 终端输出存储到 TXT 文件,但也将输出显示在终端中
- c# - 如何使用 iText7 确定 Type 3 PDF 字体的实际字体名称?
- pyspark - 如何在 pyspark 数据帧上应用 nltk.pos_tag
- python - 在python中创建一个翻滚窗口
- java - 如何列出两个数字之间的数字java spark datafrme
- clojure - 让一个 clojure 项目通过本地服务器“通信”
- python-3.x - 有没有办法根据 python 3.x 中另一列的值来分隔一列?
- excel - Excel中的单元格作为变量