アーキテクチャ確認
$ uname -m
aarch64
Zsh→ aarch64
または arm64
が返ってくればOK(32bitだと armv7l
などになります)
kubectl バイナリをダウンロード
クラスターをを構成するRaspberry Pi 5上で実行し、バージョンを確認
$ kubectl version
Client Version: v1.33.0
Kustomize Version: v5.6.0
Server Version: v1.33.0
Zsh今回は、v1.33.0がインストールされていることが確認できた。
$ curl -LO "https://dl.k8s.io/release/v1.33.0/bin/linux/arm64/kubectl"
Zsh※ 最新バージョンは https://kubernetes.io/releases/ で確認可
実行権限を付与し、パスを通す
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin/
Zshインストール確認
$ kubectl version --client
Client Version: v1.29.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Zshkubectl補完設定(便利な機能)
コマンドを補完してくれるようになるので設定しておくと便利です。
$ echo "source <(kubectl completion bash)" >> ~/.bashrc
$ source ~/.bashrc
Zsh設定ファイルをコピーしてくる
別ノードからKubernetesクラスタにアクセスする場合は、KUBECONFIGファイルのコピーが必要です。マスターノード(raspi-cp01
)の以下の「~/.kube/config
」ファイルをコピーします。
$ mkdir -p ~/.kube
emboss@raspi-ctrl:~ $ scp pi@raspi-cp01:~/.kube/config ~/.kube/config
config 100% 5650 7.4MB/s 00:00
$ ls -la ~/.kube
total 16
drwxr-xr-x 2 emboss emboss 4096 May 2 05:33 .
drwx------ 24 emboss emboss 4096 May 2 05:33 ..
-rw-r--r-- 1 emboss emboss 5650 May 2 05:33 config
Zshパーミッション変更
~/.kube/config が root 所有になっている場合、一般ユーザーで使うには権限変更が必要:
$ sudo chown $(id -u):$(id -g) ~/.kube/config
Zsh動作確認
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
raspi-cp01 Ready control-plane 30h v1.33.0
raspi-cp02 Ready control-plane 26h v1.33.0
raspi-cp03 Ready control-plane 26h v1.33.0
Zsh無事実行出来るようになりました。