promethus转发
标签:promethus istio
promethus是非常重要的流量监控工具,但是它的浏览器界面只能够在内网下打开,如何在外网访问这个好用的流量监控工具呢
根据bookinfo遥测教学,在本机上访问链接地址即可打开prometheus界面,我们的目标就是让外网也能够打开这个界面,这就需要建立外网到内网9090端口的映射。
直接修改svc/istio-ingressgateway
在ports中加入自己写的一段,将外部端口31399映射到内部的9090
- name: prometheus
nodePort: 31399
port: 9090
protocol: TCP
targetPort: 9090
结果自然是被拒绝了,果然没有这么简单。
加入自己的入口网关
遥测教学的做法是先在后台运行这个kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090
,将本地的9090端口与目标容器的9090端口作端口转发,然后访问本地的9090端口来访问。好处是避免了pod的ip变动造成的失效,但是外部很显然访问不到这个服务。
自己仿照bookinfo的例子写了个网关,参考了API document of VirtualService,目标是将外部端口9090访问转发到内部prometheus的9090端口上。
apiVersion: