【发布时间】:2021-04-20 23:54:21
【问题描述】:
我的仪表板暴露给<dashboard>.foobar.com 没有问题,现在我正尝试将上面提到的仪表板暴露给www.foobar.com/dashboard/<kiali>
我已经用这个 VS 设置了一个简单的 .net 后端容器进行了测试:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: whatever
spec:
hosts:
- www.foobar.com
gateways:
- some-gateway
http:
- match:
- uri:
prefix: /bla
rewrite:
uri: " "
route:
- destination:
port:
number: 1234
host: dummy-service
然后我有:
foobar.com/bla/api/hello -> dummyservice/api/hello
foobar.com/bla/api/deeper/hello -> dummyservice/api/deeper/hello
这很好。
但是,如果我将相同的方法应用于这些仪表板,则没有任何效果!
这是我对仪表板的设置:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: dashboards
namespace: istio-system
spec:
hosts:
- www.foobar.com
gateways:
- default/somegateway
http:
- name: grafana
match:
- uri:
prefix: /dashboards/grafana
rewrite:
uri: /
route:
- destination:
port:
number: 80
host: grafana.grafana.svc.cluster.local
- name: prometheus
match:
- uri:
prefix: /dashboards/prometheus
rewrite:
uri: "/"
route:
- destination:
port:
number: 9089
host: prometheus-server.prometheus.svc.cluster.local
- name: kubernetes-dashboard
match:
- uri:
prefix: "/dashboards/kubernetes"
rewrite:
uri: " "
route:
- destination:
port:
number: 8443
host: kubernetes-dashboard.kubernetes-dashboard.svc.cluster.local
- name: kubernetes-dashboard
match:
- uri:
prefix: "/dashboards/kiali/"
rewrite:
uri: /
route:
- destination:
port:
number: 20001
host: kiali.istio-system.svc.cluster.local
正如有人提到的,/ 和 存在一个已知问题,因此您可以看到我对它们都有 rewrite。但仍然没有任何效果。
我大部分都得到了 404,grafana 将我重定向到www.foobar.com/login
以前有人做过吗?我在想这些仪表板可能包含在前端,所以它不像我的 .net 后端容器那么简单?
【问题讨论】:
-
嗨。您可以尝试为每个添加 2 个 uri 匹配项吗:例如。 “/dashboards/kiali/”和“/dashboards/kiali”(按此顺序),然后重写为“/”。另外,当您尝试访问这些服务时,您能否发布来自 kiali/grafana istio-proxy 的日志?
-
另外请检查这个:grafana.com/tutorials/run-grafana-behind-a-proxy 很确定 kiali 会有类似的东西
-
grafana redirects me to www.foobar.com/login应用程序就是这样配置的,我已经解释过了here。我认为 kiali 和 prometheus 是一样的。所以你的 istio 配置是正确的,但是如果想在同一主机上拥有/dashboards/kiali和其他人,那么你必须为此配置你的应用程序。 -
感谢@LudovicC,我意识到像这些家伙这样的应用程序需要额外的配置。我现在已经让 Prometheus 和 Grafana 工作了,等我让它们都工作后我会回答我的问题。
-
还要感谢@Jakub,我正在努力更改应用程序的配置。
标签: kubernetes grafana istio istio-kiali