概要
下表の構成で、オンプレ上に k8s を構築したときの記録である.
本記事では「k8sノードをクラスタへ参加させる手順」を記す.
基本的には、https://github.com/takara9/vagrant-kubernetes にて
Ansible で実行していた処理を、手動で実行しているのみです.
(若干、マニフェストを変更しています)
No | 用途 | ノード名 | 形態 | 公開IP | 内部IP | OS | 備考 |
---|---|---|---|---|---|---|---|
1 | k8sマスタ | master01 | VM | 192.168.1.91 | 172.24.20.11 | Ubuntu18.04 | |
2 | k8sノード | node01 | VM | 192.168.1.92 | 172.24.20.12 | Ubuntu18.04 |
参考にしたサイトおよび書籍
URL | 備考 |
---|---|
実践 Vagrant | |
15Stepで習得 Dockerから入るKubernetes | K8s だけでなく、Ansible, Vagrant, GlusterFS のことなども学べる. |
https://github.com/takara9/vagrant-k8s |
『15Stepで習得 Dockerから入るKubernetes』の著者が公開されている GitHub. Vagrant や Ansible コードを公開してくださっている. |
https://github.com/takara9/vagrant-kubernetes | 同上 |
https://github.com/takara9/codes_for_lessons | 同上 |
https://nextpublishing.jp/book/12197.html | 『解体kubeadm フェーズから読み解くKubernetesクラスタ構築ツールの全貌』を参考にして 1マスタ・1ノードを構築した. |
環境
物理PC および 仮想PC の OS
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
物理PC
下記ソフトを導入済みであること.
- Vagrant
- VirtualBox
手順
1. k8s 設定を初期化する
物理ホストから node01 へ ssh ログインする
$ vagrant ssh node01
vagrant@node01:~$ sudo kubeadm reset -f
2. クラスタへ参加させる
[02] VM 2台を使って 1マスタ・1ノードの kubernetes を構築してみる (kubeadmによるマスタ構築)
で kubeadm の初期化をしたときに表示されるコマンドを実行すれば良い.
vagrant@node01:~$ kubeadm join 10.0.2.15:6443 --token qu104b.66ff4kkrma3chyqd \
--discovery-token-ca-cert-hash sha256:3be8f04fd648a22f247203b5c7a87fb0e242b84f6a066f6c393f13cde56b9f52
3. kubelet が参照する DNS の IP を変更する
vagrant@node01:~$ sudo cp /var/lib/kubelet/config.yaml /var/lib/kubelet/config.yaml.ORIG
vagrant@node01:~$ sudo sed -i 's/10.96.0.10/10.32.0.10/g' /var/lib/kubelet/config.yaml
4. kubelet を再起動させる
vagrant@node01:~$ sudo systemctl daemon-reload
vagrant@node01:~$ sudo systemctl restart kubelet
以上.