Kubernetes : Kubeadm インストール2025/11/07 |
|
マルチノード Kubernetes クラスターを構成します。 当例では以下のように 4 台のノードを使用して設定します。
前提条件として、各ノードの [Hostname], [MAC address], [Product_uuid] は一意である必要があります。
+----------------------+ +----------------------+
| [ ctrl.srv.world ] | | [ dlp.srv.world ] |
| Manager Node | | Control Plane |
+-----------+----------+ +-----------+----------+
eth0|10.0.0.25 eth0|10.0.0.30
| |
------------+--------------------------+-----------
| |
eth0|10.0.0.51 eth0|10.0.0.52
+-----------+----------+ +-----------+----------+
| [ node01.srv.world ] | | [ node02.srv.world ] |
| Worker Node#1 | | Worker Node#2 |
+----------------------+ +----------------------+
|
| [1] | Manager ノードを除く Kubernetes クラスターを構成する全ノードで、CGROUPS のコントローラーを追加しておきます。 |
|
dlp:~ # cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpu 0 54 1 blkio 0 54 1 net_cls 0 54 1 perf_event 0 54 1 net_prio 0 54 1 hugetlb 0 54 1 pids 0 54 1 rdma 0 54 1 misc 0 54 1
dlp:~ #
dlp:~ # zypper -n install kernel-source gcc make zlib-devel ncurses-devel cd /usr/src/linux dlp:/usr/src/linux # make menuconfig #1 [General setup] を選択して Enter General setup ---> #2 [Control Group support] を選択して Enter [*] Control Group support ---> #3 以下 3 項目にチェックを入れる [*] Freezer controller [*] Device controller [*] Simple CPU accounting controller #4 以下のチェックを外す [ ] RDMA controller #5 [Exit] する
dlp:/usr/src/linux #
vi .config
# 11059行目 : 以下のように変更 (値を空にする)
CONFIG_MODULE_SIG_KEY=""
# make してインストール # * make には数時間かかる dlp:/usr/src/linux # make dlp:/usr/src/linux # make modules_install dlp:/usr/src/linux # make install INSTALL /boot renamed '/boot/config-6.12.0-160000.5-default' -> '/boot/config-6.12.0-160000.5-default.old' Module signing not enabled for this kernel. Skipping.
dlp:/usr/src/linux #
dlp:~ # cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpu 0 50 1 cpuacct 0 50 1 blkio 0 50 1 devices 0 50 1 freezer 0 50 1 net_cls 0 50 1 perf_event 0 50 1 net_prio 0 50 1 hugetlb 0 50 1 pids 0 50 1 misc 0 50 1 |
| [2] | Manager ノードを除く Kubernetes クラスターを構成する全ノードで、システム要件を満たすよう各設定を適用しておきます。 |
|
dlp:~ #
cat > /etc/sysctl.d/99-k8s-cri.conf <<EOF net.bridge.bridge-nf-call-iptables=1 net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-ip6tables=1 EOF dlp:~ # sysctl --system
# firewalld は無効化
dlp:~ #
systemctl disable --now firewalld
# Swap オフの設定 dlp:~ # swapoff -a
dlp:~ #
vi /etc/fstab # Swap 行はコメント化 #UUID=579cbec6-00f9-420a-b025-5dc2c4e15275 swap swap defaultsdlp:~ # systemctl mask swap.target
|
| [3] | Manager ノードを除く Kubernetes クラスターを構成する全ノードで、コンテナーランタイム, Kubeadm, Kubelet をインストールします。 コンテナーランタイムには、当例では Containerd を利用します。 |
|
dlp:~ #
dlp:~ # zypper -n install containerd containerd config default | tee /etc/containerd/config.toml
dlp:~ #
vi /etc/containerd/config.toml # 67行目 : 変更 sandbox_image = "registry.k8s.io/pause:3.10.1" # 139行目 : 変更 SystemdCgroup = true
dlp:~ #
dlp:~ # systemctl enable --now containerd
cat <<'EOF' > /etc/zypp/repos.d/kubernetes.repo
dlp:~ # [kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/repodata/repomd.xml.key EOF zypper refresh
.....
.....
Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
.....
.....
dlp:~ #
dlp:~ # zypper -n install kubeadm kubelet kubectl systemctl enable kubelet
|
| Sponsored Link |
|
|