kubernetes Tcp流量可视化
使用k8spacket和grafana的node graph
插件可以查看kubernetes pod的TCP相关信息,如connection、bytes、和duration。下面是接收和响应的字节数信息:
安装k8spacket
helm repo add k8spacket https://k8spacket.github.io/k8spacket-helm-chart helm install k8spacket --namespace k8spacket k8spacket/k8spacket --create-namespace
k8spacket是daemonset,安装完之后每个节点都有一个k8spacket pod。
安装node graph
node graph包括两部分:nodegraph 插件和Node Graph API
。前者是dashboard中的dashboard插件,后者是获取k8spacket数据的datasource。
安装Node Graph API
在grafana的datasource
中添加Node Graph API
即可:
在Node Graph API
的URL中添加k8spacket的地址:
kubernetes Tcp流量可视化
使用k8spacket和grafana的node graph
插件可以查看kubernetes pod的TCP相关信息,如connection、bytes、和duration。下面是接收和响应的字节数信息:
安装k8spacket
helm repo add k8spacket https://k8spacket.github.io/k8spacket-helm-chart helm install k8spacket --namespace k8spacket k8spacket/k8spacket --create-namespace
k8spacket是daemonset,安装完之后每个节点都有一个k8spacket pod。
安装node graph
node graph包括两部分:nodegraph 插件和Node Graph API
。前者是dashboard中的dashboard插件,后者是获取k8spacket数据的datasource。
安装Node Graph API
在grafana的datasource
中添加Node Graph API
即可:
在Node Graph API
的URL中添加k8spacket的地址:
创建node graph dashboard
k8spacket官方给出了k8s-packet-node-graph.yaml将其黏贴在grafana中即可,注意需要修改uid
和version
字段(即先创建一个空的dashboard,然后将k8s-packet-node-graph.yaml中的这两个字段修改为新建的dashboard的中的对应字段值)。
至此完成node graph dashboard的安装,该dashboard支持connection、bytes、和duration三种视角,支持命名空间和pod名称筛选。
拓展
使用caretta也可以达到同样的效果,且安装起来也更加方便,但对内核有如下要求:
- Linux 内核版本 >= 4.16
- x64系统
- 支持CO-RE,暂不支持MAC