我正在使用helm来安装带有 --set grafana.enabled=true
的istio-1.0.0版本 .
要访问grafana仪表板,我必须使用 kubectl
命令进行端口转发 . 它工作正常 . 但是,我想使用公共IP访问它,因此我使用此网关yaml文件
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: grafana-gateway
namespace: agung-ns
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 15031
name: http-grafana
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: grafana-global-route
namespace: agung-ns
spec:
hosts:
- "grafana.domain"
gateways:
- grafana-gateway
- mesh
http:
- route:
- destination:
host: "grafana.istio-system"
port:
number: 3000
weight: 100
我尝试了 curl
它,但它返回404状态,这意味着上面的路由逻辑和/或我的配置有问题 .
curl -HHost:grafana.domain http://<my-istioingressgateway-publicip>:15031 -I
HTTP/1.1 503 Service Unavailable
date: Tue, 14 Aug 2018 13:04:27 GMT
server: envoy
transfer-encoding: chunked
任何的想法?
1 回答
我认为问题是你在不同的命名空间中引用服务 . 您需要添加FQDN(grafana.istio-system.svc.cluster.local) .
如果您需要集成istio,grafana,prometheus和jaeger,通过网关公开并启用安全性,您可以检查我正在处理的项目:https://github.com/kyma-project/kyma