概要

Kubernetesで、ノードやコンテナがどれくらいCPUやメモリを使っているのか確認したいと思うことはありませんか。

私はあります。

普段は、Prometheusなどで見ているのですが、Prometheusの調子が悪かったり、Prometheusのコンテナが動いていないなど、必ずしもPrometheusを使って確認できるわけではありません。

そこで、このようなノードやコンテナの使用しているリソースを確認するkubectlのコマンドがあるので紹介します。

環境

  • Kubernetes 1.8

方法

少し話が変わりますが、Linuxなどを使っていて現在のCPUやメモリの状態を知りたいとなった時には、どのようにしますか。

おそらく、topコマンドを使うと思います。

実は、Linuxほど高機能ではありませんが、kubectlにもtopコマンドがあります。なので、これを使ってノードやコンテナが使用しているCPUやメモリを確認できます。

ノードとコンテナでコマンドが異なるのでノードの場合はこのようにします。

kubectl top nodes

Kubernetesでは、コンテナをひとつ以上でまとめてPodで表すため、確認できるのはコンテナではなくPod単位となり、Podの場合はこのようにします。

kubectl top pods

Podに関して、これではdefault名前空間のものしか表示されないので、全てのPodを確認する場合は、--all-namespacesオプションをつけて実行しましょう。

さいごに

すぐにノードやコンテナの状況を確認する時には、役に立つと思います。

Kubernetesに関することを色々覚えて使いこなせるようになりたいと思う、今日この頃です。