前回の記事ではとりあえずマスターノードだけ立てましたが、今回はその続き。ワーカーノードを追加して、ようやく“クラスタっぽいもの”に育てていきます。
前回の記事は↓
実行環境
マスターノード、ワーカーノードともに以下のスペックで構築しています。
- OS: ubuntu server 24.04.2
- CPU: Intel N150(VMに割当中のコア数=2)
- RAM: 8GB
- ディスク: 256GB
手順
マスターノードは前回の記事の手順を踏んで構築済とします。
ワーカーノードのセットアップ
以下の記事と同様の手順を踏んで、ワーカーノードにもkubeadmを導入します。kubeadm, kubelet, kubectlのインストールまでで問題ないです。
ワーカーノードをJOINする
マスターノード側でjoin用のコマンドを生成します。
Bash
# マスターノード側で実行
kubeadm token create --print-join-command
コマンドを実行して出力されたコマンドをワーカーノード側で実行します。
Bash
# ワーカーノード側で実行
sudo kubeadm join xyz.xyz.xyz.xyz:6443 --token {token} --discovery-token-ca-cert-hash {hash}
Nodeの確認
JOINコマンドが正常終了したらマスターノードに戻り、以下のコマンドを実行します。nodeが追加されていて、STATUSがREADYになっていれば成功です。
Bash
kubectl get nodes
# 以下のように出力されればOK
# NAME STATUS ROLES AGE VERSION
# test-01 Ready control-plane 123m v1.33.0
# test-02 Ready <none> 2m53s v1.33.0
最後に
というわけで、無事(?)Kubernetesクラスタが完成しました。kubeadmのJOINは拍子抜けするほどシンプルで、思っていたよりずっとスムーズにノードを追加できて驚きました。
まだまだ本格運用にはほど遠いですが、「手元のProxmox環境でもk8sクラスタって普通に作れるんだな〜」と実感できたのは大きな収穫。何より、構築してる時のワクワク感がたまらなかったです。
次はPodをデプロイして、Ciliumの挙動をいじったり、ストレージまわりにも手を出していければと思っています。というわけで、ゆるゆると次回に続くかもしれません。