簡體   English   中英

如何訪問istio創建的儀表板

[英]How to access istio created dashboard

我安裝istiokubernetes無舵。

我可以看到Pod和服務是在istio-system名稱空間中創建的。

所有服務(例如grafana,Prometheus)均已創建,並且其端口未公開。

創建負載均衡器服務后,也在AWS中創建了一個負載均衡器,我想通過新創建的負載均衡器端點從外部網絡訪問grafana,prometheus等儀表板,但無法從負載均衡器端點訪問該儀表板。

我嘗試了istio docs建議的端口轉發:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 & 

這些僅適用於http:// localhost:3000,而不能通過http:// publicip:3000訪問

NAME                     TYPE           CLUSTER-IP       EXTERNAL-IP                                                              PORT(S)                                                                                                                                      AGE
grafana                  ClusterIP      172.20.192.71    <none>                                                                   3000/TCP                                                                                                                                     1m
istio-citadel            ClusterIP      172.20.111.103   <none>                                                                   8060/TCP,15014/TCP                                                                                                                           1m
istio-egressgateway      ClusterIP      172.20.123.112   <none>                                                                   80/TCP,443/TCP,15443/TCP                                                                                                                     1m
istio-galley             ClusterIP      172.20.45.229    <none>                                                                   443/TCP,15014/TCP,9901/TCP                                                                                                                   1m
istio-ingressgateway     LoadBalancer   172.20.94.157    xxxx-yyyy.us-west-2.elb.amazonaws.com   15020:31336/TCP,80:31380/TCP,443:31390/TCP,31400:31400/TCP,15029:32146/TCP,15030:30126/TCP,15031:31506/TCP,15032:30501/TCP,15443:31053/TCP   1m
istio-pilot              ClusterIP      172.20.27.87     <none>                                                                   15010/TCP,15011/TCP,8080/TCP,15014/TCP                                                                                                       1m
istio-policy             ClusterIP      172.20.222.108   <none>                                                                   9091/TCP,15004/TCP,15014/TCP                                                                                                                 1m
istio-sidecar-injector   ClusterIP      172.20.240.198   <none>                                                                   443/TCP                                                                                                                                      1m
istio-telemetry          ClusterIP      172.20.157.227   <none>                                                                   9091/TCP,15004/TCP,15014/TCP,42422/TCP                                                                                                       1m
jaeger-agent             ClusterIP      None             <none>                                                                   5775/UDP,6831/UDP,6832/UDP                                                                                                                   1m
jaeger-collector         ClusterIP      172.20.92.248    <none>                                                                   14267/TCP,14268/TCP                                                                                                                          1m
jaeger-query             ClusterIP      172.20.168.197   <none>                                                                   16686/TCP                                                                                                                                    1m
kiali                    ClusterIP      172.20.236.20    <none>                                                                   20001/TCP                                                                                                                                    1m
prometheus               ClusterIP      172.20.21.205    <none>                                                                   9090/TCP                                                                                                                                     1m
tracing                  ClusterIP      172.20.231.66    <none>                                                                   80/TCP                                                                                                                                       1m
zipkin                   ClusterIP      172.20.200.32    <none>                                                                   9411/TCP                                                                                                                                     1m

如上所示,我正在嘗試使用負載平衡器以及端口轉發來訪問grafana儀表板,但我沒有獲得grafana儀表板

您可以創建Istio Gateway和VirtualService ,以將您的請求轉發到默認在端口3000上運行的grafana服務

首先,讓我們檢查grafanaistio-ingressgateway服務

kubectl get svc grafana istio-ingressgateway -n istio-system
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)                                                                                                                                      AGE
grafana                ClusterIP      100.71.67.105   <none>                                                                    3000/TCP                                                                                                                                     18h
istio-ingressgateway   LoadBalancer   100.64.42.106   <Public IP address>   15020:31766/TCP,80:31380/TCP,443:31390/TCP,31400:31400/TCP,15029:32576/TCP,15030:30728/TCP,15031:31037/TCP,15032:31613/TCP,15443:32501/TCP   18h

因此,我們有在端口3000上偵聽的grafana運行服務,以及使用分配的公共IP地址運行的默認istio-ingressgateway LoadBalancer服務。

然后,我們創建gateway以使用此默認LoadBalancer。

$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: grafana-gateway
  namespace: istio-system # Use same namespace with backend service
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 80
      name: HTTP
      protocol: HTTP
    hosts:
    - "*"
EOF

然后為通過此網關進入的流量配置到grafana service路由:

$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: grafana
  namespace: istio-system # Use same namespace with backend service
spec:
  hosts:
  - "*"
  gateways:
  - grafana-gateway # define gateway name
  http:
  - match:
    - uri:
        prefix: "/"
    route:
    - destination:
        port:
          number: 3000 # Backend service port
        host: grafana # Backend service name
EOF

然后點擊http://<public_ip_istio_ingressgateway> ,您應該看到grafana儀表板

希望對您有幫助。

kubectl -n istio-system  port-forward svc/kiali 20001

然后點擊http://localhost:20001/kiali/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM