<p>I would like to monitor the IO which my pod is doing. Using commands like 'kubectl top pods/nodes', i can monitor CPU &amp; Memory. But I am not sure how to monitor IO which my pod is doing, especially disk IO.</p>

<p>Any suggestions ?</p>

<p>Since you already used <code>kubectl top</code> command I assume you have metrics server. In order to have more advanced monitoring solution I would suggest to use <code>cAdvisor</code>,  <code>Prometheus</code> or <code>Elasticsearch</code>. </p>

<p>For getting started with Prometheus you can check <a href="https://www.replex.io/blog/kubernetes-in-production-the-ultimate-guide-to-monitoring-resource-metrics" rel="nofollow noreferrer">this article</a>. </p>

<p>Elastic search has <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-system-diskio.html" rel="nofollow noreferrer">System diskio</a>  and <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-docker-diskio.html" rel="nofollow noreferrer">Docker diskio </a> metrics set.  You can easily deploy it using <a href="https://github.com/elastic/helm-charts/tree/master/elasticsearch" rel="nofollow noreferrer">helm chart</a>. </p>

<p><a href="https://blog.freshtracks.io/a-deep-dive-into-kubernetes-metrics-part-3-container-resource-metrics-361c5ee46e66" rel="nofollow noreferrer">Part 3</a> of the series about kubernetes monitoring is  especially focused on monitoring container metrics using cAdvisor.  Allthough it is worth checking whole series. </p>

<p>Let me know if this helps. </p>
