Kubernetes - Ingress - 被更通用的规则捕获
Kubernetes - Ingress - caught by a more general rule
我正在尝试为我的 microk8s 集群中的服务 (Kibana) 运行 设置入口规则,但我遇到了一些问题。
设置的第一条规则是
Name: web-ingress
Namespace: default
Address: 127.0.0.1
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
k8s-ingress-tls terminates web10
Rules:
Host Path Backends
---- ---- --------
*
/ web-service:8080 (10.1.72.26:8080,10.1.72.27:8080)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: false
Events: <none>
我正在尝试将 Kibana 服务设置为在路径 /kibana 上提供服务
Name: kibana
Namespace: default
Address: 127.0.0.1
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
k8s-ingress-tls terminates web10
Rules:
Host Path Backends
---- ---- --------
*
/kibana(/|$)(.*) kibana:5601 (10.1.72.39:5601)
Annotations: nginx.ingress.kubernetes.io/ssl-redirect: false
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 17m nginx-ingress-controller Ingress default/kibana
Normal UPDATE 17m nginx-ingress-controller Ingress default/kibana
我的问题是 Kibana 做的第一件事是 returns 一个 302 重定向到 host/login?next=%2F 这被第一个 Ingress 规则解决了,因为现在我丢失了我的 /kibana路径。
我尝试添加 nginx.ingress.kubernetes.io/rewrite-target: /kibana/
但重定向看起来就像 host/login?next=%2Fkibana%2F
这根本不是我想要的。
如果我删除第一条规则,一旦 Kibana 重定向到 host/login?next=%2F
,我只会收到 404
将以下注释添加到 kibana
入口,以便 nginx-ingress 使用正则表达式解释 /kibana(/|$)(.*)
路径:
nginx.ingress.kubernetes.io/use-regex: "true"
其他详细信息:
要让 kibana 知道它在 /kibana
路径上运行,请将以下环境变量添加到 kibana pod/deployment:
- name: SERVER_BASEPATH
value: /kibana
我正在尝试为我的 microk8s 集群中的服务 (Kibana) 运行 设置入口规则,但我遇到了一些问题。
设置的第一条规则是
Name: web-ingress
Namespace: default
Address: 127.0.0.1
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
k8s-ingress-tls terminates web10
Rules:
Host Path Backends
---- ---- --------
*
/ web-service:8080 (10.1.72.26:8080,10.1.72.27:8080)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: false
Events: <none>
我正在尝试将 Kibana 服务设置为在路径 /kibana 上提供服务
Name: kibana
Namespace: default
Address: 127.0.0.1
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
k8s-ingress-tls terminates web10
Rules:
Host Path Backends
---- ---- --------
*
/kibana(/|$)(.*) kibana:5601 (10.1.72.39:5601)
Annotations: nginx.ingress.kubernetes.io/ssl-redirect: false
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 17m nginx-ingress-controller Ingress default/kibana
Normal UPDATE 17m nginx-ingress-controller Ingress default/kibana
我的问题是 Kibana 做的第一件事是 returns 一个 302 重定向到 host/login?next=%2F 这被第一个 Ingress 规则解决了,因为现在我丢失了我的 /kibana路径。
我尝试添加 nginx.ingress.kubernetes.io/rewrite-target: /kibana/
但重定向看起来就像 host/login?next=%2Fkibana%2F
这根本不是我想要的。
如果我删除第一条规则,一旦 Kibana 重定向到 host/login?next=%2F
,我只会收到 404将以下注释添加到 kibana
入口,以便 nginx-ingress 使用正则表达式解释 /kibana(/|$)(.*)
路径:
nginx.ingress.kubernetes.io/use-regex: "true"
其他详细信息:
要让 kibana 知道它在 /kibana
路径上运行,请将以下环境变量添加到 kibana pod/deployment:
- name: SERVER_BASEPATH
value: /kibana