kubectl
plugin lists allocations for resources (cpu, memory, gpu,...) as defined into the manifest of nodes and running pods. It doesn't list usage like kubectl top
. It can provide result grouped by namespaces, nodes, pods and filtered by resources'name.
Columns displayed :
Requested
: Quantity of resources requested by the container in the pod's manifest. It's the sum group by pod, namespace, node where container is running.%Requested
: Percentage of resources requested over what is allocatable in the group.Limit
: Quantity of resources max (limit) requestable by the container in the pod's manifest. It's the sum group by pod, namespace, node where container is running.%Limit
: Percentage of resources max / limit over what is allocatable in the group.Allocatable
: Allocatable resources defined (or detected) on nodes.Free
: Allocatable - max (Limit, Requested)
Download from github's release or use script
sh
curl https://raw.githubusercontent.com/davidB/kubectl-view-allocations/master/scripts/getLatest.sh | bash
sh
cargo install kubectl-view-allocations
```txt kubectl-view-allocations -h
kubectl-view-allocations 0.2.2-dev https://github.com/davidB/kubectl-view-allocations kubectl plugin to list allocations (cpu, memory, gpu,... X requested, limit, allocatable,...)
USAGE: kubectl-view-allocations [FLAGS] [OPTIONS]
FLAGS: -h, --help Prints help information -z, --show-zero Show lines with zero requested and zero limit and zero allocatable -V, --version Prints version information
OPTIONS:
-g, --group-by
```txt
kubectl-view-allocations -r gpu
Resource Requested %Requested Limit %Limit Allocatable Free nvidia.com/gpu 7 58% 7 58% 12 5 ├─ node-gpu1 1 50% 1 50% 2 1 │ └─ xxxx-784dd998f4-zt9dh 1 1 ├─ node-gpu2 0 0% 0 0% 2 2 ├─ node-gpu3 0 0% 0 0% 2 2 ├─ node-gpu4 1 50% 1 50% 2 1 │ └─ aaaa-1571819245-5ql82 1 1 ├─ node-gpu5 2 100% 2 100% 2 0 │ ├─ bbbb-1571738839-dfkhn 1 1 │ └─ bbbb-1571738888-52c4w 1 1 └─ node-gpu6 2 100% 2 100% 2 0 ├─ bbbb-1571738688-vlxng 1 1 └─ cccc-1571745684-7k6bn 1 1 ```
```sh
kubectl-view-allocations -g resource
Resource Requested %Requested Limit %Limit Allocatable Free cpu 11 6% 56 28% 200 144 ephemeral-storage 0 0% 0 0% 5Ti 5Ti memory 25Gi 5% 164Gi 34% 485Gi 320Gi nvidia.com/gpu 9 75% 9 75% 12 3 pods 0 0% 0 0% 1Ki 1Ki ```
```sh
kubectl-view-allocations -g namespace
Resource Requested %Requested Limit %Limit Allocatable Free cpu 11 6% 56 28% 200 144 ├─ default 2 28 └─ dev 9 28 ephemeral-storage 0 0% 0 0% 5Ti 5Ti memory 25Gi 5% 164Gi 34% 485Gi 320Gi ├─ cert-manager 96Mi 256Mi ├─ default 4Gi 76Gi ├─ dev 13Gi 77Gi ├─ dns-external 280Mi 680Mi ├─ docs 256Mi 384Mi ├─ ingress-nginx 512Mi 2Gi ├─ kube-system 640Mi 840Mi ├─ loki 1Gi 1Gi ├─ monitoring 3Gi 3Gi └─ weave 1Gi 1Gi nvidia.com/gpu 9 75% 9 75% 12 3 └─ dev 9 9 pods 0 0% 0 0% 1Ki 1Ki ```