【kube-capacity】現在のNamespaceのみ取得するように設定する
はじめに
kube-capacity
を使って現在のNamespaceの情報のみを取得する方法を紹介します。
kube-capacity
を使ってResource limitやrequestを一覧で取得する場合、デフォルトでは全てのNamespaceの情報を取得してくれます。
しかし、いくつもNamespaceがある場合、現在のNamespaceのみの情報が欲しいことが多いです。現在のNamespaceの情報が欲しい場合は、-n
オプションでNamespaceを指定するのですが、毎回やるのは煩わしいのでエイリアスを設定して簡単にできるように設定したいと思います。
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
A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster - robscott/kube-capacity
詳しくは下記を参考にしてください。
【kube-capacity】Resource LimitとRequestを一覧で取得する
はじめに `kube-capacity`を使って、KubernetesのResource lim
現在のNamespaceの取得方法
現在設定されているNamespaceを取得する方法は下記のコマンドを使います。
1kubectl config view --minify -o jsonpath='{..namespace}'
1❯ kubectl config view --minify -o jsonpath='{..namespace}'
2app-dev
組み合わせて使う
現在のNamespaceを取得する方法と組み合わせて、下記のコマンドを実行することで、現在のNamespaceのみのResource limitとrequestが取得できます。
1kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')
1❯ kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')
2NODE POD CPU REQUESTS CPU LIMITS MEMORY REQUESTS MEMORY LIMITS
3
4docker-desktop * 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
5docker-desktop myapp1-5cdd4bc574-z7kxb 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
エイリアス
あとは自分のわかりやすいエイリアスを設定してあげれば、いつでも簡単に現在のNamespaceのResource limitとrequestが取得できます。
私はkubectl-aliasesを使って、まとめてエイリアスを設定しているので、下記のようなエイリアスを設定しています。
1# resource-capacity
2alias krc='kubectl resource-capacity -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
3alias krcp='kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
4alias krcc='kubectl resource-capacity -c -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
1❯ krc
2NODE CPU REQUESTS CPU LIMITS MEMORY REQUESTS MEMORY LIMITS
3docker-desktop 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
4
5❯ krcp
6NODE POD CPU REQUESTS CPU LIMITS MEMORY REQUESTS MEMORY LIMITS
7
8docker-desktop * 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
9docker-desktop myapp1-5cdd4bc574-z7kxb 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
10
11❯ krcc
12NODE POD CONTAINER CPU REQUESTS CPU LIMITS MEMORY REQUESTS MEMORY LIMITS
13
14docker-desktop * * 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
15docker-desktop myapp1-5cdd4bc574-z7kxb * 225m (5%) 225m (5%) 160Mi (2%) 160Mi (2%)
16docker-desktop myapp1-5cdd4bc574-z7kxb container1 50m (1%) 50m (1%) 32Mi (0%) 32Mi (0%)
17docker-desktop myapp1-5cdd4bc574-z7kxb container2 100m (2%) 100m (2%) 64Mi (0%) 64Mi (0%)
18docker-desktop myapp1-5cdd4bc574-z7kxb container3 75m (1%) 75m (1%) 64Mi (0%) 64Mi (0%)
kubectl-aliasesについては下記を参照してください。
GitHub - ahmetb/kubectl-aliases: Programmatically generated handy kubectl aliases.
Programmatically generated handy kubectl aliases. Contribute to ahmetb/kubectl-aliases development by creating an account on GitHub.
kubectl-aliasesでkubectlコマンドのエイリアスを一括設定
はじめに `kubectl`コマンドのエイリアスが大量に設定されているkubectl-alias
参考
- robscott/kube-capacity: A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster
- kubernetes - How to get the current namespace of current context using kubectl - Stack Overflow