我试图通过 istio gateway 和 istio virtual-service 暴露 istio 的监控服务:grafana、prometheus、kiali 和 jaeguer 但没有成功
奇怪的是通过curl访问时返回页面,但是通过浏览器访问时网关找不到应用程序
我试过好几种方式,放到默认的nasmespace,放到istio命名空间,重新创建服务器
非常欢迎任何帮助
- 环境
SO: Ubuntu 20.04.2 LTS
Kubernetes: Microk8s 1.21/stable
Client Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.1-3+1f02fea99e2268", GitCommit:"1f02fea99e226878ded82f3e159f28a6706ce1fc", GitTreeState:"clean", BuildDate:"2021-05-12T21:06:02Z", GoVersion:"go1.16.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.1-3+1f02fea99e2268", GitCommit:"1f02fea99e226878ded82f3e159f28a6706ce1fc", GitTreeState:"clean", BuildDate:"2021-05-12T21:02:46Z", GoVersion:"go1.16.3", Compiler:"gc", Platform:"linux/amd64"}
Istio: v1.5.1
- yaml 配置
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: istio-gateway
namespace: istio-system
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "grafana.myserver.com"
- "prometheus.myserver.com"
- "kiali.myserver.com"
- "jaeger.myserver.com"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: grafana-vs
namespace: istio-system
spec:
hosts:
- "grafana.myserver.com"
gateways:
- istio-gateway
http:
- match:
- uri:
prefix: "/"
route:
- destination:
port:
number: 3000
host: grafana.istio-system.svc.cluster.local
weight: 100
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: prometheus-vs
namespace: istio-system
spec:
hosts:
- "prometheus.myserver.com"
gateways:
- istio-gateway
http:
- match:
- uri:
prefix: "/"
route:
- destination:
port:
number: 9090
host: prometheus.istio-system.svc.cluster.local
weight: 100
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: kiali-vs
namespace: istio-system
spec:
hosts:
- "kiali.myserver.com"
gateways:
- istio-gateway
http:
- match:
- uri:
prefix: "/"
route:
- destination:
port:
number: 20001
host: kiali.istio-system.svc.cluster.local
weight: 100
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: jaeger-vs
namespace: istio-system
spec:
hosts:
- "jaeger.myserver.com"
gateways:
- istio-gateway
http:
- match:
- uri:
prefix: "/"
route:
- destination:
port:
number: 16686
host: jaeger-query.istio-system.svc.cluster.local
weight: 100
- Istio 信息
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"istio-ingressgateway","chart":"gateways","heritage":"Tiller","istio":"ingressgateway","release":"istio"},"name":"istio-ingressgateway","namespace":"istio-system"},"spec":{"ports":[{"name":"status-port","port":15020,"targetPort":15020},{"name":"http2","nodePort":31380,"port":80,"targetPort":80},{"name":"https","nodePort":31390,"port":443},{"name":"tcp","nodePort":31400,"port":31400},{"name":"https-kiali","port":15029,"targetPort":15029},{"name":"https-prometheus","port":15030,"targetPort":15030},{"name":"https-grafana","port":15031,"targetPort":15031},{"name":"https-tracing","port":15032,"targetPort":15032},{"name":"tls","port":15443,"targetPort":15443}],"selector":{"app":"istio-ingressgateway","istio":"ingressgateway","release":"istio"},"type":"LoadBalancer"}}
creationTimestamp: "2021-05-21T10:45:05Z"
labels:
app: istio-ingressgateway
chart: gateways
heritage: Tiller
istio: ingressgateway
release: istio
name: istio-ingressgateway
namespace: istio-system
resourceVersion: "79445"
selfLink: /api/v1/namespaces/istio-system/services/istio-ingressgateway
uid: b2a9d401-8ecc-4c3a-bac2-a8db545b80e7
spec:
clusterIP: 10.152.183.203
clusterIPs:
- 10.152.183.203
externalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: status-port
nodePort: 30037
port: 15020
protocol: TCP
targetPort: 15020
- name: http2
nodePort: 31380
port: 80
protocol: TCP
targetPort: 80
- name: https
nodePort: 31390
port: 443
protocol: TCP
targetPort: 443
- name: tcp
nodePort: 31400
port: 31400
protocol: TCP
targetPort: 31400
- name: https-kiali
nodePort: 31537
port: 15029
protocol: TCP
targetPort: 15029
- name: https-prometheus
nodePort: 32117
port: 15030
protocol: TCP
targetPort: 15030
- name: https-grafana
nodePort: 31687
port: 15031
protocol: TCP
targetPort: 15031
- name: https-tracing
nodePort: 32132
port: 15032
protocol: TCP
targetPort: 15032
- name: tls
nodePort: 32291
port: 15443
protocol: TCP
targetPort: 15443
selector:
app: istio-ingressgateway
istio: ingressgateway
release: istio
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}