Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNásledující verzeObě strany příští revize | ||
navody:vps:vpsadminos:kubernetes [2020/11/22 08:46] – [Prerekvizity] toms | navody:vps:vpsadminos:kubernetes [2021/10/29 10:58] – [Prerekvizity] euro | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Kubernetes na vpsAdminOS ====== | ====== Kubernetes na vpsAdminOS ====== | ||
+ | <note important> | ||
===== Prerekvizity ===== | ===== Prerekvizity ===== | ||
- | * VPS musí bežať na vpsAdminOS na kerneli min. 5.10-rc4. V čase písania návodu je dostupný tento kernel iba na staging node | + | * VPS musí bežať na vpsAdminOS na kerneli min. 5.9.10. V čase písania návodu je dostupný tento kernel iba na staging node (nebo Brno) |
* Postup je odskúšaný na fresh minimal Ubuntu 20.04 | * Postup je odskúšaný na fresh minimal Ubuntu 20.04 | ||
* Používame latest vanilla kubernetes | * Používame latest vanilla kubernetes | ||
- | * Ako networking používame flannel s host-gw | + | * Ako networking používame flannel s host-gw |
+ | * Kubernetes si chce šahať do /sys a /proc. Hodnoty máme vo vpsAdminOS správne pre vpsAdminOS, preto mu iba nafakeujeme dané súbory aby si tam sám mohol zapísať. Vytvoríme aj fake service v systemd, aby sa pri štarte systému dané súbory správne namapovali. | ||
* **Inštalačný skript je rovnaký pre master aj worker nody** | * **Inštalačný skript je rovnaký pre master aj worker nody** | ||
- | ===== Postup | + | ===== Spoločný postup pre master aj worker nodes ===== |
Vytvoríme si install.sh v / | Vytvoríme si install.sh v / | ||
< | < | ||
#/bin/bash -x | #/bin/bash -x | ||
- | apt install -y apt-transport-https ca-certificates curl software-properties-common | + | apt-get install -y apt-transport-https ca-certificates curl software-properties-common |
curl -fsSL https:// | curl -fsSL https:// | ||
add-apt-repository "deb [arch=amd64] https:// | add-apt-repository "deb [arch=amd64] https:// | ||
- | apt update | + | apt-get update |
apt-get install -y docker-ce iptables arptables ebtables | apt-get install -y docker-ce iptables arptables ebtables | ||
- | |||
wget -q https:// | wget -q https:// | ||
Řádek 22: | Řádek 23: | ||
./ | ./ | ||
source / | source / | ||
- | |||
update-alternatives --set iptables / | update-alternatives --set iptables / | ||
Řádek 49: | Řádek 49: | ||
mount --bind overcommit_memory / | mount --bind overcommit_memory / | ||
- | echo " | ||
- | mount --bind swaps /proc/swaps | ||
mkdir block | mkdir block | ||
mount -o bind block/ /sys/block/ | mount -o bind block/ /sys/block/ | ||
mount --make-rshared / | mount --make-rshared / | ||
- | |||
- | mkdir -p netfilter/ | ||
- | mount --bind netfilter / | ||
- | echo 327680 > netfilter/ | ||
- | |||
- | echo 1310720 > netfilter/ | ||
- | |||
- | mkdir nf_conntrack_parameters | ||
- | echo N > nf_conntrack_parameters/ | ||
- | echo 512 > nf_conntrack_parameters/ | ||
- | echo 16384 > nf_conntrack_parameters/ | ||
- | echo N > nf_conntrack_parameters/ | ||
- | echo N > nf_conntrack_parameters/ | ||
- | chmod 666 -R nf_conntrack_parameters | ||
- | chown nobody: | ||
- | mount -o bind nf_conntrack_parameters / | ||
EOF | EOF | ||
Řádek 120: | Řádek 102: | ||
< | < | ||
kubeadm init --pod-network-cidr=10.244.0.0/ | kubeadm init --pod-network-cidr=10.244.0.0/ | ||
- | |||
mkdir -p $HOME/.kube | mkdir -p $HOME/.kube | ||
Řádek 136: | Řádek 117: | ||
</ | </ | ||
+ | Vysledok by mal vyzerat cca: | ||
+ | < | ||
+ | # kubectl --namespace=kube-system get pods | ||
+ | NAME | ||
+ | coredns-f9fd979d6-f9v99 | ||
+ | coredns-f9fd979d6-v7w2x | ||
+ | etcd-vps3 | ||
+ | kube-apiserver-vps3 | ||
+ | kube-controller-manager-vps3 | ||
+ | kube-flannel-ds-zbc47 | ||
+ | kube-proxy-7zvc5 | ||
+ | kube-scheduler-vps3 | ||
+ | </ | ||
+ | |||
+ | === Master ako worker === | ||
Ak chceme aby aj master node slúžil ako worker, môžeme ho pridať: | Ak chceme aby aj master node slúžil ako worker, môžeme ho pridať: | ||
< | < | ||
Řádek 145: | Řádek 141: | ||
< | < | ||
kubeadm token create --print-join-command | kubeadm token create --print-join-command | ||
+ | |||
+ | # Ukazka vystupu prikazu kubeadm token create --print-join-command | ||
+ | kubeadm join 37.205.14.241: | ||
</ | </ | ||
+ | |||
+ | |||
Na master node môžeme sledovať stav nodov: | Na master node môžeme sledovať stav nodov: | ||
< | < | ||
- | kubectl get nodes | + | # kubectl get nodes |
+ | NAME | ||
+ | vps3 | ||
+ | vps4 | ||
</ | </ |