💬
Kubernetesをちょっと楽にできるCLIツール
はじめに
sweeep株式会社エンジニアの関田です。
ここ最近業務でkubectlを使うことが多くなってきたのですが、
kubectlをそのまま使っていると割と長めのコマンドを打ち込む場面が出てきます。
なので、少しでも楽をするために調べたツールを今回は紹介していこうと思います。
1. kubectx
kubectxはコンテキストの切り替えを簡単に行えるツールです。
install
$ brew install kubectx
使い方
- kubectlを使った方法
# 一覧取得
$ kubectl config get-contexts
# 切り替え
$ kubectl config use-context context_name
- kubectxを使った方法
# 一覧取得
$ kubectx
# 切り替え
$ kubectx context_name
# 一つ前のコンテキストに切り替え
$ kubectx -
2. kubens
kubensはネームスペースの切り替えに便利なツールです。
install
kubectxと一緒にインストールされます。
使い方
- kubectlを使った方法
# namespace切り替え
$ kubectl config set-context context_name --namespace=ns_name
- kubensを使った方法
# namespace切り替え
$ kubens ns_name
3. stern
sternはログを取得するのに使えるツールで、
前方一致で該当するpodのログを取得したりできます。
install
$ brew install stern
使い方
- kubectlを使った方法
$ kubectl logs deplopment_name-xxxx-yyyy
- sternを使った方法
$ stern deplopment_name
4. kube-ps1
kube-ps1は現在のcontextやnamespaceをターミナル上に表示してくれるツールです。
install
$ brew install kube-ps1
.zshrcまたは.bashrcを編集
# .zshrc
source "/usr/local/opt/kube-ps1/share/kube-ps1.sh"
PROMPT='$(kube_ps1)'$PROMPT
# .bashrc
source "/usr/local/opt/kube-ps1/share/kube-ps1.sh"
PS1='[\u@\h \W $(kube_ps1)]\$ '
使い方
ターミナルを確認してみると以下のように左側にcontextとnamespaceが表示されます。
(⎈ |context-name:namespace)username@hogehoge dir $
デフォルトのコンテキスト名はとても長いですが、以下のコマンドで変えることができます。
$ kubectl config rename-context old_name new_name
おわりに
他にも便利なツールはあるのですが、CLIツールの定番を今回は紹介しました。
Kubernetes周辺ツールは便利でパワフルなものが多くあるので、
色々と試して業務で使えるツールはどんどん取り入れたいと思います。
最後に宣伝にはなりますが、sweeepでは一緒に働くエンジニアを募集しています!
Discussion