kubectls は kubectl の version manager です。
色々な cli tool に *env
というものがあると思いますが、それの kubectl 版です。
利用する人がほとんどいないと思ったのと最低限動けば良いくらいの気持ちで作ったので、kubectlenv
というよく使われそうな名前にするのは避けました。
Installation
以下のコマンドでインストールできます。
bash、ln、readlink、curl、git あたりが動く環境であれば基本的には動作すると思います。
$ git clone https://github.com/tkuchiki/kubectls ~/.kubectls
Code language: PHP (php)
.bashrc などで ~/.kubectls/bin
を優先するように PATH を設定します。
zsh を使っている場合は .zshrc などに置き換えて実行してください。
# for bash
$ echo "PATH=~/.kubectls/bin:\$PATH" >> ~/.bashrc
$ echo "export $PATH" >> ~/.bashrc
Code language: PHP (php)
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
Code language: JavaScript (javascript)
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
Code language: PHP (php)
use
kubectls install
で、install しておいた version の kubectl に切り替えるサブコマンドです。
$ kubectls use --help
Usage: kubectl use [VERSION]
Set version
Code language: JavaScript (javascript)
kubectls use VERSION
で、version を切り替えられます。
$ kubectls use v1.20.4
v1.20.4 selected
Code language: PHP (php)
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
Code language: PHP (php)
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 間の差異を確認するときに役立つかもしれませんので使ってみてください。