【kube-capacity】Resource LimitとRequestを一覧で取得する

スポンサーリンク

はじめに

kube-capacityを使って、KubernetesのResource limitとrequestを一覧で取得したり、合計値を取得したりする方法を紹介します。

kube-capacityとは

kube-capacityとは、Resource limitやrequest、その使用率などを取得できるCLIになります。

GitHub - robscott/kube-capacity: A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster
AsimpleCLIthatprovidesanoverviewoftheresourcerequests,limits,andutilizationinaKubernetescluster-GitHub-robscott/kube-capacity:AsimpleCLIthatprovidesanoverviewof...

インストール

brewを使ったインストールは下記の通りです。

brew tap robscott/tap
brew install robscott/tap/kube-capacity

krewを使ってもインストールできます。

kubectl krew install resource-capacity

使い方

簡単にkube-capacityの使い方を紹介します。

クラスタとノードのリソース

デフォルトでは、クラスタのResource limitとrequestの合計と各ノードのResource limitとrequestが表示されます。

kube-capacity
❯ kube-capacity

NODE             CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS
docker-desktop   1325m (33%)    375m (9%)    696Mi (8%)        596Mi (7%)

括弧の中のパーセント表示は利用可能なリソースと比べてどのくらいの割合であるかを表しています。

Podのリソース

-p--podsでPodごとのResource limitとrequestも確認できます。

kube-capacity -p
❯ kube-capacity -p -n default
NODE             POD                       CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         375m (9%)      375m (9%)    256Mi (3%)        256Mi (3%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp2-d5b4df486-zqvtr    150m (3%)      150m (3%)    96Mi (1%)         96Mi (1%)

コンテナのリソース

-c--containersでPodの中のコンテナごとのResource limitとrequestを確認できます。

kube-capacity -c
❯ kube-capacity -c -n default
NODE             POD                       CONTAINER    CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         *            375m (9%)      375m (9%)    256Mi (3%)        256Mi (3%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   *            225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container1   50m (1%)       50m (1%)     32Mi (0%)         32Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container2   100m (2%)      100m (2%)    64Mi (0%)         64Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container3   75m (1%)       75m (1%)     64Mi (0%)         64Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    *            150m (3%)      150m (3%)    96Mi (1%)         96Mi (1%)
docker-desktop   myapp2-d5b4df486-zqvtr    container1   50m (1%)       50m (1%)     32Mi (0%)         32Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    container2   100m (2%)      100m (2%)    64Mi (0%)         64Mi (0%)

利用状況

-u--utilでリソースの利用状況を確認できます。

kube-capacity -u
❯ kube-capacity -c -u -n default
NODE             POD                       CONTAINER    CPU REQUESTS   CPU LIMITS   CPU UTIL   MEMORY REQUESTS   MEMORY LIMITS   MEMORY UTIL

docker-desktop   *                         *            375m (9%)      375m (9%)    0m (0%)    256Mi (3%)        256Mi (3%)      1Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   *            225m (5%)      225m (5%)    0m (0%)    160Mi (2%)        160Mi (2%)      1Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container1   50m (1%)       50m (1%)     0m (0%)    32Mi (0%)         32Mi (0%)       1Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container2   100m (2%)      100m (2%)    0m (0%)    64Mi (0%)         64Mi (0%)       1Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container3   75m (1%)       75m (1%)     0m (0%)    64Mi (0%)         64Mi (0%)       1Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    *            150m (3%)      150m (3%)    0m (0%)    96Mi (1%)         96Mi (1%)       1Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    container1   50m (1%)       50m (1%)     0m (0%)    32Mi (0%)         32Mi (0%)       1Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    container2   100m (2%)      100m (2%)    0m (0%)    64Mi (0%)         64Mi (0%)       1Mi (0%)

利用可能なリソース

-a--availableでノードの利用可能なリソースを表示した形式になります。

kube-capacity --available
❯ kube-capacity -a
NODE             CPU REQUESTS   CPU LIMITS    MEMORY REQUESTS   MEMORY LIMITS
docker-desktop   2675m/4000m    3625m/4000m   7164Mi/7860Mi     7264Mi/7860Mi

ソート

--sortで各リソースや名前でソートすることができます。(デフォルトは名前です)

kube-capacity --sort [name|cpu.request|cpu.limit|cpu.util|mem.request|mem.limit|mem.util]
❯ kube-capacity -c --sort cpu.limit -n default
NODE             POD                       CONTAINER    CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         *            375m (9%)      375m (9%)    256Mi (3%)        256Mi (3%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   *            225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container2   100m (2%)      100m (2%)    64Mi (0%)         64Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container3   75m (1%)       75m (1%)     64Mi (0%)         64Mi (0%)
docker-desktop   myapp1-5cdd4bc574-4x2k4   container1   50m (1%)       50m (1%)     32Mi (0%)         32Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    *            150m (3%)      150m (3%)    96Mi (1%)         96Mi (1%)
docker-desktop   myapp2-d5b4df486-zqvtr    container2   100m (2%)      100m (2%)    64Mi (0%)         64Mi (0%)
docker-desktop   myapp2-d5b4df486-zqvtr    container1   50m (1%)       50m (1%)     32Mi (0%)         32Mi (0%)

Pod数

--pod-countでクラスタやノードのPodの数を表示できます。

kube-capacity --pod-count
❯ kube-capacity --pod-count
NODE             CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS   POD COUNT
docker-desktop   1325m (33%)    375m (9%)    696Mi (8%)        596Mi (7%)      12/110

参考

タイトルとURLをコピーしました