【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
AsimpleCLIthatprovidesanoverviewoftheresourcerequests,limits,andutilizationinaKubernetescluster-GitHub-robscott/kube-capacity:AsimpleCLIthatprovidesanoverviewof...

詳しくは下記を参考にしてください。

【kube-capacity】Resource LimitとRequestを一覧で取得する
はじめにkube-capacityを使って、KubernetesのResourcelimitとrequestを一覧で取得したり、合計値を取得したりする方法を紹介します。kube-capacityとはkube-capacityとは、Resou...

現在のNamespaceの取得方法

現在設定されているNamespaceを取得する方法は下記のコマンドを使います。

kubectl config view --minify -o jsonpath='{..namespace}'
❯ kubectl config view --minify -o jsonpath='{..namespace}'
app-dev

組み合わせて使う

現在のNamespaceを取得する方法と組み合わせて、下記のコマンドを実行することで、現在のNamespaceのみのResource limitとrequestが取得できます。

kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')
❯ kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')
NODE             POD                       CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)

エイリアス

あとは自分のわかりやすいエイリアスを設定してあげれば、いつでも簡単に現在のNamespaceのResource limitとrequestが取得できます。

私はkubectl-aliasesを使って、まとめてエイリアスを設定しているので、下記のようなエイリアスを設定しています。

# resource-capacity
alias krc='kubectl resource-capacity -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
alias krcp='kubectl resource-capacity -p -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
alias krcc='kubectl resource-capacity -c -n $(kubectl config view --minify -o jsonpath='{..namespace}')'
❯ krc
NODE             CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS
docker-desktop   225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)

❯ krcp
NODE             POD                       CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)

❯ krcc
NODE             POD                       CONTAINER    CPU REQUESTS   CPU LIMITS   MEMORY REQUESTS   MEMORY LIMITS

docker-desktop   *                         *            225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   *            225m (5%)      225m (5%)    160Mi (2%)        160Mi (2%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   container1   50m (1%)       50m (1%)     32Mi (0%)         32Mi (0%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   container2   100m (2%)      100m (2%)    64Mi (0%)         64Mi (0%)
docker-desktop   myapp1-5cdd4bc574-z7kxb   container3   75m (1%)       75m (1%)     64Mi (0%)         64Mi (0%)

kubectl-aliasesについては下記を参照してください。

GitHub - ahmetb/kubectl-aliases: Programmatically generated handy kubectl aliases.
Programmaticallygeneratedhandykubectlaliases.Contributetoahmetb/kubectl-aliasesdevelopmentbycreatinganaccountonGitHub.
kubectl-aliasesでkubectlコマンドのエイリアスを一括設定
はじめにkubectlコマンドのエイリアスが大量に設定されているkubectl-aliasesの設定とその使い方を紹介したいと思います。kubectl-aliaseskubectl-aliasesでは、kubectlコマンドのエイリアスが大...

参考

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