Čt. Lis 21st, 2024
pohled na dlouhou loď ze shoraAerial view of forward part of the hull of a ship docked at the port surrounded with sea water

Mám už nějaký vytvořený master server. Dokonce už mám jeden worker node, oba dva fungují na stejném operačním systému, stejné verzi kubernetes (debian/ubuntu) a k tomu teď přidávám Alma Linux Worker Node. Tedy, jinou distribuci linuxu, starší kernel (4.18 vs. 5.x kernel) avšak stejnou verzi kubernetes (1.23.3)

Výsledek vypadá takto:

kubenode2 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kubemaster Ready control-plane,master 3d23h v1.23.3
kubenode2.local Ready 27s v1.23.3
kubenode3 Ready 3d23h v1.23.3

Nainstaloval jsem takto:

dnf install epel-release -y &&  dnf --enablerepo=epel -y install snapd && ln -s /var/lib/snapd/snap /snap && echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snap.sh && systemctl enable --now snapd.service snapd.socket &&  snap install kubectl --classic && swapoff -a && sed -i '/swap/d' /etc/fstab
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --reload
systemctl stop firewalld
systemctl disable firewalld

echo "[docker]
baseurl=https://download.docker.com/linux/centos/8/x86_64/stable/
gpgcheck=0" > /etc/yum.repos.d/docker.repo

yum -y install docker-ce
systemctl enable docker

systemctl start docker
systemctl status docker
echo "
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=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
" > /etc/yum.repos.d/kubernetes.repo
yum install -y kubelet kubeadm kubectl --disableexcludes=Kubernetes
systemctl enable kubelet
systemctl start kubelet
systemctl status kubelet

V /etc/hosts jsem musel přidat (pozor, mám to jak na masteru, tak na node2, který přidávám do clusteru)

192.168.123.83 kubenode2 kubenode2.local
192.168.123.85 kubenode3 kubenode3.local
192.168.123.86 kubemaster

A protože už jsem měl nodu předtím přidanou někam jinam, tak jsem musel provést

kubeadm reset

Na master nodu dát příkaz:

kubeadm token create --print-join-command

To mi vyplivne příkaz, který spustím na nově přidaném nodu do clusteru:

kubeadm join 192.168.123.86:6443 --token kód.nejakytoken --discovery-token-ca-cert-hash sha256:enejakýHashca-certu

To mi na nodu vypíše:

[preflight] Running pre-flight checks

        [WARNING FileExisting-tc]: tc not found in system path
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
W0215 00:38:14.506269    3321 utils.go:69] The recommended value for "resolvConf" in "KubeletConfiguration" is: /run/systemd/resolve/resolv.conf; the provided value is: /run/systemd/resolve/resolv.conf
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...


This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.


Po vypsání příkazu kubectl get nodes:
kubenode2 ~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
kubemaster        Ready    control-plane,master   3d23h   v1.23.3
kubenode2.local   Ready    <none>                 10m     v1.23.3
kubenode3         Ready    <none>                 3d23h   v1.23.3

Opětovné přidání dříve přidané nody do kubernetes clusteru

na node2 dám příkaz:

kubeadm reset

na masteru:

kubeadm token create –print-join-command

Vyplivne mi to nový příkaz pro node2 pro opětovné přidání. bude to vypadat nějak takto:

kubeadm join 192.168.123.86:6443 –token kód.nejakytoken –discovery-token-ca-cert-hash sha256:enejakýHashca-certu

Ten vezmu copy&pastnu a spustím na node2, který chci opětovně přidat do clusteru.

A funguji bez problémů.

zdroj

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji cca 30 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem spravuji s dalšími kolegy 8000 serverů po celé Evropě a tato práce mě nesmírně baví, protože se vše musí automatizovat a nabízí mi to možnost trénovat další evropské jazyky od Angličtiny, přes Němčinu až po Italštinu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *