Am o configurație bare metal kubernetes cluster folosind 3 noduri, un master și doi lucrători. Am folosit kubeadm pentru a configura clusterul. Acum, înainte de a configura clusterul, am setat numele de gazdă al nodurilor la master-node, respectiv node-1, respectiv node-2 și am adăugat intrări pentru ele în fișierul /etc/hosts, în toate cele trei noduri.
/etc/hosts
10.0.1.68 master-node
10.0.29.104 nod-1 lucrător-nod-1
10.0.28.246 nod-2 lucrător-nod-2
Acum, dacă vreau să adaug un alt nod de lucru la cluster, am scris un script pentru a automatiza adăugarea noului nod la cluster. Acesta este scriptul meu bash:
#!/bin/bash
sudo su -
yum actualizare -y
yum install vim -y
hostnamectl set-hostname 'nod-1'
cat <<EOF >> /etc/hosts
10.0.1.68 master-node
10.0.29.104 nod-1 lucrător-nod-1
EOF
setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.9-3.1.el7.x86_64.rpm -y
dnf install docker-ce -y
systemctl enable docker
systemctl start docker
echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' > /etc/docker/daemon.json
systemctl daemon-reload
systemctl reporniți docker
pisică <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
nume=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
activat=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
dnf install kubeadm -y
systemctl enable kubelet
systemctl porniți kubelet
yum instalează iproute-tc -y
kubeadm join --token xxxx --discovery-token-ca-cert-hash xxxx
Dar trebuie să adaug manual adresa IP a nodului conectându-mă la instanță. Deci, nu pot realiza acest lucru folosind doar scriptul bash.De asemenea, trebuie să adaug acea linie în fișierul /etc/hosts a nodurilor deja existente în clusterul meu. Momentan fac asta manual. Cât de important este de fapt acest pas și ce modificări pot face scriptul meu pentru a adăuga nodul la cluster doar folosind acest script în momentul lansării unei noi instanțe ec2?