概要
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に関することを色々覚えて使いこなせるようになりたいと思う、今日この頃です。