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:~# 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 |
Sponsored Link |