Ubuntu 20.04
Sponsored Link

Kubernetes : Kubeadm インストール2020/08/19

 
Kubeadm をインストールして、マルチノード Kubernetes クラスターを構成します。
当例では以下のように 三台のノードを使用して設定します。
前提条件として、各ノードの [Hostname], [MAC address], [Product_uuid] は一意である必要があります。
[MAC address] と [Product_uuid] は、通常の物理マシンや一般的な方法で作成した仮想マシンであれば、通常は一意となっています。
[Product_uuid] は [dmidecode -s system-uuid] コマンドで確認できます。
-----------+---------------------------+--------------------------+------------
           |                           |                          |
       eth0|10.0.0.30              eth0|10.0.0.51             eth0|10.0.0.52
+----------+-----------+   +-----------+----------+   +-----------+----------+
|   [ dlp.srv.world ]  |   | [ node01.srv.world ] |   | [ node02.srv.world ] |
|      Master Node     |   |      Worker Node     |   |      Worker Node     |
+----------------------+   +----------------------+   +----------------------+

[1] 全ノードに Docker をインストールします。また、システム要件を満たすよう各設定を適用しておきます。
root@dlp:~#
apt -y install docker.io apt-transport-https
# cgroup ドライバーは systemd を使用する設定

root@dlp:~# cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

root@dlp:~#
systemctl restart docker

root@dlp:~#
systemctl enable docker
root@dlp:~# cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

root@dlp:~#
sysctl --system
# iptables のバックエンドは [iptables-legacy] が必要

# nftables 等々になっている場合は要変更

root@dlp:~#
update-alternatives --config iptables

There are 2 choices for the alternative iptables (providing /usr/sbin/iptables).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/sbin/iptables-legacy   20        auto mode
  1            /usr/sbin/iptables-legacy   20        manual mode
  2            /usr/sbin/iptables-nft      10        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

# swap が有効になっている場合は要無効化

root@dlp:~#
swapoff -a

root@dlp:~#
vi /etc/fstab
# swap 行はコメント化

#
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
[2] 全ノードで Kubeadm, Kubelet, Kubectl をインストールします。
root@dlp:~#
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

OK
root@dlp:~#
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list

root@dlp:~#
apt update

root@dlp:~#
apt -y install kubeadm kubelet kubectl

関連コンテンツ