kubectlsの紹介
kubectls は kubectl の version manager です。
色々な cli tool に *env
というものがあると思いますが、それの kubectl 版です。
利用する人がほとんどいないと思ったのと最低限動けば良いくらいの気持ちで作ったので、kubectlenv
というよく使われそうな名前にするのは避けました。
Installation⌗
以下のコマンドでインストールできます。
bash、ln、readlink、curl、git あたりが動く環境であれば基本的には動作すると思います。
$ git clone https://github.com/tkuchiki/kubectls ~/.kubectls
.bashrc などで ~/.kubectls/bin
を優先するように PATH を設定します。
zsh を使っている場合は .zshrc などに置き換えて実行してください。
# for bash
$ echo "PATH=~/.kubectls/bin:\$PATH" >> ~/.bashrc
$ echo "export $PATH" >> ~/.bashrc
Usage⌗
5つのサブコマンドで構成されているので、一つずつ紹介していきます。
$ kubectls --help
Usage: kubectls
kubectls is kubectl version manager
Commands:
install Install kubectl
path Show current kubectl's abs path
update Update kubectls
use Set version
versions Show installed versions
Options:
--version Show version
install⌗
kubectl を install するサブコマンドです。
$ kubectls install --help
Usage: kubectl install (VERSION|stable) [--set]
Install kubectl
Options:
--set Set version
kubectl install stable
で、実行時の stable version の kubectl を install できます。
$ kubectls install stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 44.1M 100 44.1M 0 0 16.3M 0 0:00:02 0:00:02 --:--:-- 16.3M
v1.20.4 is installed
kubectls install VERSION
で、指定した version の kubectl を install できます。
$ kubectls install v1.20.0
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 44.0M 100 44.0M 0 0 17.5M 0 0:00:02 0:00:02 --:--:-- 17.5M
v1.20.0 is installed
kubectls install
は install するだけで使えるようにはなりません。
指定したバージョンに切り替えるには、後述する kubectls use
を実行するか、kubectls install
に --use
というオプションをつけて実行すれば OK です。
$ kubectls install v1.20.1 --use
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 44.0M 100 44.0M 0 0 20.7M 0 0:00:02 0:00:02 --:--:-- 20.7M
v1.20.1 is installed
v1.20.1 selected
$ kubectl version --client --short
Client Version: v1.20.1
use⌗
kubectls install
で、install しておいた version の kubectl に切り替えるサブコマンドです。
$ kubectls use --help
Usage: kubectl use [VERSION]
Set version
kubectls use VERSION
で、version を切り替えられます。
$ kubectls use v1.20.4
v1.20.4 selected
kubectls use
のように version を指定しないで実行することで、install した version 一覧から選択して切り替えることも可能です。
$ kubectls use
1) v1.20.0
2) v1.20.1
3) v1.20.2
4) v1.20.4
Which version? 3
v1.20.2 selected
path⌗
現在使用している kubectl の絶対パスを出力するサブコマンドです。
$ kubectls path --help
Usage: kubectl path
Show current kubectl's abs path
$ kubectls path
/Users/tkuchiki/.kubectls/versions/v1.20.2/kubectl
versions⌗
install 済みの version 一覧を出力するサブコマンドです。
$ kubectls versions --help
Usage: kubectl versions
Show installed versions
$ kubectls versions
v1.20.0
v1.20.1
v1.20.2
v1.20.4
update⌗
kubectls を update するサブコマンドです。
$ kubectls update --help
Usage: kubectl update
Update kubectls
まとめ⌗
kubectls の使い方を紹介しました。
複数 version を切り替えて使いたいケースは稀だと思いますが、version 間の差異を確認するときに役立つかもしれませんので使ってみてください。