RKE2 klastri paigaldamine: erinevus redaktsioonide vahel
Resümee puudub |
Resümee puudub |
||
(ei näidata sama kasutaja 8 vahepealset redaktsiooni) | |||
1. rida: | 1. rida: | ||
===Sissejuhatus=== |
===Sissejuhatus=== |
||
− | Käesolev tekst kirjeldab RKE2 kubernetes tarkvaral põhineva kubernetes klastri tekitamist. Selliselt tekitakse |
+ | 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=== |
===Tööpõhimõte=== |
||
11. rida: | 11. rida: | ||
* node tarkvara koosseisule tuleb teatud määral pöörata tähelepanu: TODO |
* node tarkvara koosseisule tuleb teatud määral pöörata tähelepanu: TODO |
||
+ | ===Võrgutopoloogia=== |
||
− | ===Ubuntu operatsioonisüsteemi ettevalmistamine=== |
||
+ | Tõenäoliselt on klastri haldusliidese ip aadress tulemüüri külge kinnitatud ja suunatud nat teisendusega kõigi klastrit moodustavate node'ide peale |
||
− | Ubuntu operatsioonisüsteem paigaldatakse tavalise Ubuntu installeri abil. Praktiliselt võiks teha ühe arvuti valmis ning seejärel teda nö paljundada. Seejuures võiks igaks juhuks machine-id muuta unikaalseks |
||
+ | * 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) |
||
+ | |||
⚫ | |||
===RKE2 kubernetes tarkvara paigaldamine ja klastri moodustamine=== |
===RKE2 kubernetes tarkvara paigaldamine ja klastri moodustamine=== |
||
24. rida: | 28. rida: | ||
* RKE2 kasutab TODO tarkvara |
* 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 |
* 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 |
||
+ | |||
+ | <pre> |
||
+ | # 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 |
||
+ | </pre> |
||
+ | |||
+ | 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 |
||
+ | |||
+ | <pre> |
||
+ | 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 |
||
+ | </pre> |
||
+ | |||
+ | Järgmise node lisamiseks sobib kasutada seadistusfaili ja õelda |
||
+ | |||
+ | <pre> |
||
+ | 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 |
||
+ | </pre> |
||
+ | |||
+ | Jällegi jälgida logi, df ja top, tulemusena on ootus näha küsides node-01 pealt nagu enne |
||
+ | |||
+ | <pre> |
||
+ | 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 |
||
+ | </pre> |
||
+ | |||
+ | Analoogselt lisada klastrisse kolmas node, tulemuseks on üsna aus vanilla RKE2 kubernetes tarkvara abil moodustatud klaster |
||
+ | |||
+ | <pre> |
||
+ | 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 |
||
+ | </pre> |
||
+ | |||
+ | Edaspidi võiks kubectl utiliidiga seda klastrit kasutada töökohaarvutist nagu tavalist k8s klastrit |
||
+ | |||
+ | <pre> |
||
+ | 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 |
||
+ | ... |
||
+ | </pre> |
||
===Kasulikud lisamaterjalid=== |
===Kasulikud lisamaterjalid=== |
||
+ | * https://docs.rke2.io/install/quickstart |
||
− | * TODO |
Viimane redaktsioon: 19. aprill 2023, kell 23:38
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 ...