![如何找出 k8s 节点上 pod/容器的 IOPS 磁盘使用情况?](https://linux22.com/image/749602/%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%20k8s%20%E8%8A%82%E7%82%B9%E4%B8%8A%20pod%2F%E5%AE%B9%E5%99%A8%E7%9A%84%20IOPS%20%E7%A3%81%E7%9B%98%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%EF%BC%9F.png)
我的虚拟机受到 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]))