Carpe Diem

備忘録

Kubernetesを扱う上で便利なツール

概要

Kubernetesを利用する上であったら便利なツールの紹介です。

stern

podのログを簡単に取れるツールです。

github.com

インストール

$ brew install stern

使い方

$ stern xxx

という感じで、xxxにpod名の一部を入れれば表示してくれます。
部分一致なので正確なpod名じゃなくて済むので便利です。

f:id:quoll00:20190625171348p:plain

tailのように常にwatchしてくれるので、デプロイ時の監視にも便利です。

kubectx

クラスタ(context)を簡単に切り替えできるツールです。

インストール

$ brew install kubectx

使い方

USAGE:
  kubectx                       : list the contexts
  kubectx <NAME>                : switch to context <NAME>
  kubectx -                     : switch to the previous context
  kubectx <NEW_NAME>=<NAME>     : rename context <NAME> to <NEW_NAME>
  kubectx <NEW_NAME>=.          : rename current-context to <NEW_NAME>
  kubectx -d <NAME> [<NAME...>] : delete context <NAME> ('.' for current-context)
                                  (this command won't delete the user/cluster entry
                                  that is used by the context)

kubectl config get-contextsと入力する手間がkubectxで済むようになりました。
切り替えも簡単ですね。

kubens

namespaceを簡単に切り替えできるツールです。

インストール

kubectxをインストールすれば一緒にインストールされます。

使い方

USAGE:
  kubens                    : list the namespaces in the current context
  kubens <NAME>             : change the active namespace of current context
  kubens -                  : switch to the previous namespace in this context
  kubens -h,--help          : show this message

kubectl config set-context $(kubectl config current-context) --namespace=[namespace name]としていた手間がなくなりました。

fzfでインタラクティブに切り替え

ちなみにkubectxとkubensは fzf をインストールしているとインタラクティブに選択できます。

f:id:quoll00:20190625173853g:plain

kube-tmux

contextやnamespaceをterminalで常に表示してくれるものです。
bash, zshだとkube-ps1が有名です。

インストール

まずはファイルをダウンロード

$ mkdir ~/.tmux
$ cd ~/.tmux
$ wget https://raw.githubusercontent.com/jonmosco/kube-tmux/master/kube.tmux

次にtmuxに以下の設定を追加。

set-option -g status-right '#(/bin/bash $HOME/.tmux/kube.tmux 256 colour10 cyan)'
set-option -g status-right-length 80

すると以下のようにステータスバー右側に表示されます。

f:id:quoll00:20190805193257p:plain

ソース