[英]Analyse kubernetes pod network traffic
全部,
迟到了,我的云提供商对数据传输收取更多费用。 终于注意到其中一个 K8 吊舱有更多的数据传输。 有没有办法我可以通过本机 kubernetes 命令找出 pod 级别的网络流量,例如我们发送和接收的字节数?
谢谢巴拉
kubectl top
命令显示使用情况,而不是分配情况。 分配是导致insufficient CPU
问题的原因。 这个问题有很多关于差异的混淆。
AFAICT,没有简单的方法来获取 pod 的节点 CPU 分配报告,因为请求是在规范中的每个容器。 即使那样,这也很困难,因为.spec.containers[*].requests
可能有也可能没有limits
/ requests
字段。 但是有类似kubectl-view-allocations的东西,你可以探索你的 kube 资源使用和分配。 它可以提供按命名空间、节点、pod 分组并按资源名称过滤的结果。
kubectl-view-allocations [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-z, --show-zero Show lines with zero requested and zero limit and zero allocatable
-V, --version Prints version information
OPTIONS:
-g, --group-by <group-by>... Group informations (hierarchicaly) (default: -g resource -g node -g pod)
[possible values: resource, node, pod]
-n, --namespace <namespace> Show only pods from this namespace
-r, --resource-name <resource-name>... Filter resources shown by name(s), by default all resources are listed
在您的情况下,我认为最安全的选择是安装Heapster或metrics-server 、 cAdvisor和Grafana 。
Heapster 为Kubernetes (版本 v1.0.6 及更高版本)以及包含它的平台启用容器集群监控和性能分析。
Heapster 收集和解释各种信号,如计算资源使用情况 - 使用此指标,您会发现通过特定 pod、生命周期事件等传输更多数据的问题。Heapster 支持多种数据源。
容器指标主要通过 cAdvisor 提供。 cAdvisor (Container Advisor) 让容器用户了解他们正在运行的容器的资源使用和性能特征。 它是一个正在运行的守护进程,用于收集、聚合、处理和导出有关正在运行的容器的信息。 具体来说,它为每个容器保存资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计信息。 此数据由容器和机器范围导出。
另一方面,Grafana 允许您查询、可视化、提醒和了解收集的指标,无论它们存储在哪里。 与您的团队创建、探索和共享仪表板,并培养数据驱动的文化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.