Kubernetesお勉強その2【環境構築】マルチワーカーノード環境準備
前回はkubernetesを構築するための作業をShell化して作業したんですが、今回は複数台ノード構成のKubernetesをShellを使って構築しちゃいます。コマンド叩くだけですが・・・
◆作業手順
1.マスター側作業
# 初期設定 $ git clone https://github.com/Otazoman/BuildK8s.git $ cd BuildK8s $ sudo chmod 755 previous_setting.sh $ ./previous_setting.sh 192.168.0.100 192.168.0.1 kube-srv1 yourdomain.local # ターミナルが閉じるので暫く待ってその後でターミナルで再接続 $ sudo chmod 755 kurbenetes_setting.sh $ sudo ./kurbenetes_setting.sh master 192.168.0.100 kube-srv1 yourdomain.local deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ / ~中略~ NAME STATUS ROLES AGE VERSION kube-srv1.yourdomain.local NotReady control-plane,master 4s v1.22.3 # ShellスクリプトでもTokenは発行されるがかなり上の方で見にくいためtokenを再発行する $ kubeadm token create --print-join-command kubeadm join 192.168.0.100:6443 --token hogefuga --discovery-token-ca-cert-hash sha256:hogefuga
2.追加ノード側作業
# 初期設定 $ git clone https://github.com/Otazoman/BuildK8s.git $ cd BuildK8s $ sudo chmod 755 previous_setting.sh $ ./previous_setting.sh 192.168.0.101 192.168.0.1 kube-srv2 yourdomain.local # ターミナルが閉じるので暫く待ってその後でターミナルで再接続 $ sudo chmod 755 kurbenetes_setting.sh $ sudo ./kurbenetes_setting.sh sub 192.168.0.101 kube-srv2 yourdomain.local # 以下コマンドでクラスタに参加 $ sudo kubeadm join --cri-socket /var/run/crio/crio.sock kube-srv1.yourdomain.local:6443 --token hogefuga\ --discovery-token-ca-cert-hash sha256:hogefuga [preflight] Running pre-flight checks ~中略~ Run 'kubectl get nodes' on the control-plane to see this node join the cluster. # 設定ファイル準備 $ sudo vi $HOME/.kube/config # マスターのから.kube/config内容をコピー $ sudo chown $(id -u):$(id -g) $HOME/.kube/config $ kubectl get nodes
これで気軽にk8s試せるようになりました。さすがにクラウドで試そうとすると課金が怖いのでやはりローカルで試さざるを得ない。とりあえずストレージ用意してきちんと試せるようにできればと思っています。実際はコントロールプレーンをクラスタ化しないと意味ないけどどうするんだろう?次はその辺も調べてみないとだ。workerだけでなくcontrol-planeも冗長化させたい。
◆参考
https://blog.denet.co.jp/try-to-add-worker-nodes-to-a-kubernetes-cluster/
コメント