💬

Kubernetesをちょっと楽にできるCLIツール

2022/03/22に公開

はじめに

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

github

sternはログを取得するのに使えるツールで、
前方一致で該当するpodのログを取得したりできます。

install

$ brew install stern

使い方

  • kubectlを使った方法
$ kubectl logs deplopment_name-xxxx-yyyy
  • sternを使った方法
$ stern deplopment_name

4. kube-ps1

Github

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では一緒に働くエンジニアを募集しています!
https://corp.sweeep.ai/recruit

GitHubで編集を提案

Discussion