如何在Kubernetes中获得Pod之间的流量

时间:2019-09-04 08:47:05

标签: networking kubernetes kubernetes-pod

已经有一些工具可以可视化豆荚之间的交通。详细状态如下:

Linkerd tap

我现在想知道这些工具如何获取数据,因为Kubernetes API本身不提供此信息。我知道Linkered在每个服务旁边都安装了一个代理,但这是唯一的选择吗?

3 个答案:

答案 0 :(得分:1)

监视流量的组件必须是每个pod中的sidecar容器或每个节点上的守护程序。例如:

  • Linkerd使用小车容器
  • Weave Scope使用DaemonSet在集群的每个节点上安装代理

杂物箱可以观察到/从其容器出来的交通。节点守护程序观察到/来自节点上所有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 }}进行可视化。