RKE2 klastri paigaldamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
P (Imre teisaldas lehekülje K8s nodeide ettevalmistamine pealkirja RKE2 klastri paigaldamine alla)
Resümee puudub
 
(ei näidata sama kasutaja 10 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===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.
TODO
 
   
  +
===Tööpõhimõte===
===Ubuntu operatsioonisüsteemi ettevalmistamine===
 
  +
  +
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
 
TODO
9. rida: 23. rida:
 
===RKE2 kubernetes tarkvara paigaldamine ja klastri moodustamine===
 
===RKE2 kubernetes tarkvara paigaldamine ja klastri moodustamine===
   
  +
Väited
TODO
 
  +
  +
* 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
  +
  +
<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
...

Kasulikud lisamaterjalid