如何找出 k8s 节点上 pod/容器的 IOPS 磁盘使用情况?

如何找出 k8s 节点上 pod/容器的 IOPS 磁盘使用情况?

我的虚拟机受到 IOPS 的严重影响(导致网络错误和其他奇怪的行为),我想知道我的 pod 中哪个是导致这种情况的原因(如果有的话)——我该如何找出答案?我找不到提供此信息的清晰工具。如果能提供任何线索,我将不胜感激(集群在 AKS azure 托管的 kubernetes 服务中运行)

答案1

在每台主机上安装并运行iotop可能是找出哪个进程产生最多 IO 的最简单方法。

答案2

借助 Prometheus 和 cAdvisor(在 GKE 中包含在 kubelet 指标中),您可以使用容器文件系统指标,并使用以下方法计算 pod IOPS:

max by (pod, device)(rate(container_fs_reads_total{container!=""}[5m]))
max by (pod, device)(rate(container_fs_writes_total{container!=""}[5m]))

相关内容