RKE2 klastri paigaldamine
Sissejuhatus
Käesolev tekst kirjeldab RKE2 kubernetes tarkvaral põhineva kubernetes klastri tekitamist. Selliselt tekitakse ainult Rancher rakendust teenindav k8s klaster. Ülejäänud klastrid, st down-stream klastrid, tekitatakse Rancher webgui liidese abil eraldi ettevalmistatud Ubuntu operatsioonisüsteemiga töötavatesse arvutitesse.
Tööpõhimõte
Väited
- RKE2 klastri node'idel töötab tavaline Ubuntu v. 22.04 operatsioonisüsteem
- node riistvara omadustele tuleb teatud määral pöörata tähelepanu: nt 6 GB mälu, 4 CPU, üks võrguliides, 60 GB ext4 failisüsteem
- node tarkvara koosseisule tuleb teatud määral pöörata tähelepanu: TODO
Võrgutopoloogia
Tõenäoliselt on klastri haldusliidese ip aadress tulemüüri külge kinnitatud ja suunatud nat teisendusega kõigi klastrit moodustavate node'ide peale
- nii moodustub haldusliidese kõrgkäideldavus
- selle tulemüüri külge kinnitatud ip aadressi kaudu suhtlevad klastri node'id üksteisega ning samuti välised klastri poole pöördujad (nt klastri haldajad oma töökohaarvutitest kubectl utiliidiga)
- tls termination toimub node juures (mitte tulemüüris)
TODO
RKE2 kubernetes tarkvara paigaldamine ja klastri moodustamine
Väited
- RKE2 ei kasuta docker tarkvara konteinerite ringiajamiseks
- RKE2 kasutab TODO tarkvara
- RKE2 ei paigaldata paketihaldusest vaid kopeerides tootja veebikohast binary programmi ja seda käivitades; see omakorda kopeerib oma isandate juurest vajaliku tarkvara, paigaldab, seadistab, käivitab protsessid jne
Esimese node paigaldamine
# mkdir -p /etc/rancher/rke2 root@k8s-rnr-tartu-node-01:~# cat /etc/rancher/rke2/config.yaml token: saladus tls-san: - k8s-rnr-tartu.auul.pri.ee root@k8s-rnr-tartu-node-01:~# curl -sfL https://get.rke2.io | sh - root@k8s-rnr-tartu-node-01:~# systemctl enable --now rke2-server.service
Seejärel oodata ja vaadata et saab valmis, df -h väljundis peab olema 40+ monteerimist, top load peab olema alla 1, 'journalctl -u rke2-server -f' logi vaikne. Tulemuse kontrollimiseks sobib öelda
root@k8s-rnr-tartu-node-01:~# export KUBECONFIG=/etc/rancher/rke2/rke2.yaml root@k8s-rnr-tartu-node-01:~# /var/lib/rancher/rke2/bin/kubectl get nodes NAME STATUS ROLES AGE VERSION root@k8s-rnr-tartu-node-01 Ready control-plane,etcd,master 8m57s v1.24.8+rke2r1
Järgmise node lisamiseks sobib kasutada seadistusfaili ja õelda
root@k8s-rnr-tartu-node-02:~# mkdir -p /etc/rancher/rke2 root@k8s-rnr-tartu-node-02:~# cat /etc/rancher/rke2/config.yaml token: saladus server: https://k8s-rnr-tartu.auul.pri.ee:9345 tls-san: - k8s-rnr-tartu.auul.pri.ee root@k8s-rnr-tartu-node-02:~# curl -sfL https://get.rke2.io | sh - root@k8s-rnr-tartu-node-02:~# systemctl enable --now rke2-server.service
Jällegi jälgida logi, df ja top, tulemusena on ootus näha küsides node-01 pealt nagu enne
root@k8s-rnr-tartu-node-01:~# /var/lib/rancher/rke2/bin/kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-rnr-tartu-node-01 Ready control-plane,etcd,master 18m v1.24.8+rke2r1 k8s-rnr-tartu-node-02 Ready control-plane,etcd,master 27s v1.24.8+rke2r1
Analoogselt lisada klastrisse kolmas node, tulemuseks on üsna aus vanilla RKE2 kubernetes tarkvara abil moodustatud klaster
root@k8s-rnr-tartu-node-01:~# /var/lib/rancher/rke2/bin/kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-rnr-tartu-node-01 Ready control-plane,etcd,master 28m v1.24.8+rke2r1 k8s-rnr-tartu-node-02 Ready control-plane,etcd,master 15m v1.24.8+rke2r1 k8s-rnr-tartu-node-03 Ready control-plane,etcd,master 27s v1.24.8+rke2r1
Edaspidi võiks kubectl utiliidiga seda klastrit kasutada töökohaarvutist nagu tavalist k8s klastrit
imre@tookohaarvuti$ export KUBECONFIG=k8s-rnr-tartu.auul.pri.ee.yaml imre@tookohaarvuti$ kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-rnr-tartu-node-01 Ready control-plane,etcd,master 48m v1.24.8+rke2r1 k8s-rnr-tartu-node-02 Ready control-plane,etcd,master 25m v1.24.8+rke2r1 k8s-rnr-tartu-node-03 Ready control-plane,etcd,master 10m v1.24.8+rke2r1 imre@tookohaarvuti$ kubectl get all -A -o wide ...