已经有一些工具可以可视化豆荚之间的交通。详细状态如下:
Linkerd tap侦听资源的流量。
在Weave Scope中,边缘表示节点之间的 TCP连接。
我现在想知道这些工具如何获取数据,因为Kubernetes API本身不提供此信息。我知道Linkered在每个服务旁边都安装了一个代理,但这是唯一的选择吗?
答案 0 :(得分:1)
监视流量的组件必须是每个pod中的sidecar容器或每个节点上的守护程序。例如:
杂物箱可以观察到/从其容器出来的交通。节点守护程序观察到/来自节点上所有Pod的流量。
在Kubernetes中,每个Pod都有其自己的唯一IP地址,因此这些组件基本上会检查网络流量的源IP地址和目标IP地址。
通常,从Pod到Pod之间的任何流量都与Kubernetes API无关,并且无法对其进行监控,与非Kubernetes环境中的原理基本相同。
答案 1 :(得分:0)
您可以使用SideCar Proxy或使用内部使用grafana仪表板的prometheus-operator。您可以在其中监视所有内容。
答案 2 :(得分:0)
我的建议是使用istio.io并将envoy代理作为边车容器注入每个Pod,然后可以使用Prometheus从这些代理中抓取指标并使用{{3 }}进行可视化。