Daroval Google komunite Opensource, Kubernetes sa teraz stal zvoleným nástrojom na správu kontajnerov. Dokáže spravovať a organizovať nielen doby prevádzky dockerov, ale aj kontajnery a Rkt doby behu.
Typický Kubernetes klaster by mal spravidla hlavný uzol a niekoľko pracovných uzlov alebo prisluhovačov. Pracovné uzly sú potom riadené z hlavného uzla, čím je zaistené, že klaster je riadený z centrálneho bodu.
Je tiež dôležité spomenúť, že môžete nasadiť aj klaster Kubernetes s jedným uzlom, ktorý sa spravidla odporúča pre veľmi ľahké, neproduktívne pracovné zaťaženie. Na tento účel môžete použiť Minikube, čo je nástroj, ktorý prevádzkuje klaster Kubernetes s jedným uzlom na virtuálnom počítači vo vašom uzle.
Odporúčame prečítať: Ako nainštalovať klaster Kubernetes na CentOS 8
V tomto návode vás prevedieme viacuzlovým uzlom Kubernetes inštalácia klastra na CentOS 7 Linux. Tento tutoriál je založený na príkazovom riadku, takže budete potrebovať prístup do okna terminálu.
Náš 3-uzlový klaster bude vyzerať asi takto:
Pre Kubernetes do práce budete potrebovať kontajnerizačný motor. Na túto inštaláciu použijeme dok pretože je najobľúbenejší.
Nasledujúce kroky budú prebiehať na zariadení Hlavný uzol.
Na hlavnom uzle nastavte názov hostiteľa a ak nemáte server DNS, aktualizujte tiež svoj /etc/hosts súbor.
# hostnamectl set-hostname master-node. # mačka <> /etc /hosts. 10.128.0.27 hlavný uzol. 10.128.0.29 uzol-1 pracovník-uzol-1. 10.128.0.30 uzol-2 pracovný-uzol-2. EOF.
Môžete pingnúť worker-node-1 a worker-node-2 na otestovanie, či je váš aktualizovaný hostiteľský súbor v poriadku pomocou príkaz ping.
# ping 10.128.0.29. # ping 10.128.0.30.
Ďalej deaktivujte SElinux a aktualizujte svoje pravidlá brány firewall.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = vynucovanie/SELINUX = vypnuté/g'/etc/sysconfig/selinux. # reštartovať.
Na portoch nastavte nasledujúce pravidlá brány firewall. Uistite sa, že každý príkaz firewall-cmd, vracia úspech.
# firewall-cmd --permanent --add-port = 6443/tcp. # firewall-cmd --permanent --add-port = 2379-2380/tcp. # firewall-cmd --permanent --add-port = 10250/tcp. # firewall-cmd --permanent --add-port = 10251/tcp. # firewall-cmd --permanent --add-port = 10252/tcp. # firewall-cmd --permanent --add-port = 10255/tcp. # firewall-cmd-načítať znova. # modprobe br_netfilter. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Budete musieť pridať Kubernetes archívy ručne, pretože nie sú predvolene nainštalované CentOS 7.
mačka </etc/yum.repos.d/kubernetes.repo. [kubernetes] meno = Kubernetes. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. povolené = 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. EOF.
Keď je repo balíka pripravené, môžete pokračovať kubeadm a dok balíčky.
# yum nainštalovať kubeadm docker -y
Keď sa inštalácia úspešne dokončí, povoľte a spustite obe služby.
# systemctl povoliť kubelet. # systemctl start kubelet. # systemctl povoliť docker. # systemctl spustiť docker.
Teraz sme pripravení inicializovať kubernetes master, ale predtým musíte zakázať swap, aby ste mohli spustiť “kubeadm init“Príkaz.
# swapoff -a.
Inicializácia Kubernetes Master je plne automatizovaný proces, ktorý je riadený „kubeadm init“Príkaz, ktorý spustíte.
# kubeadm init.
Možno budete chcieť skopírovať posledný riadok a niekde ho uložiť, pretože ho budete musieť spustiť na pracovné uzly.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884c
Tip: Tento príkaz sa niekedy môže sťažovať na príponu argumenty (args) prešiel, preto ho upravte, aby ste sa vyhli chybám. Takže odstránite súbor ‘\’
postava sprevádzajúca --token
a váš konečný príkaz bude vyzerať takto.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425c
Po inicializácii Kubernetes úspešne budete musieť svojmu používateľovi umožniť začať používať klaster. V našom prípade chceme túto inštaláciu spustiť ako koreň používateľ, preto budeme pokračovať a spustíme tieto príkazy ako root. Môžete zmeniť na a sudo povolený užívateľ dávate prednosť a spustite nižšie uvedené pomocou sudo.
Použit koreň, spustiť:
# mkdir -p $ HOME/.kube. # cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. # chown $ (id -u): $ (id -g) $ HOME/.kube/config.
Ak chcete použiť a sudo povolený užívateľ, spustiť:
$ mkdir -p $ HOME/.kube. $ sudo cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. $ sudo chown $ (id -u): $ (id -g) $ HOME/.kube/config.
Teraz skontrolujte, či kubectl príkaz je aktivovaný.
# kubectl získať uzly.
V tomto mieste si tiež všimnete, že stav súboru hlavný uzol je 'Nie je pripravený’. Dôvodom je, že ešte len nasadíme pod sieť do klastra.
The pod sieť je prekrývajúca sieť pre klaster, ktorá je nasadená nad súčasnú sieť uzlov. Je navrhnutý tak, aby umožňoval pripojenie cez lusk.
Nasadenie sieťového klastra je veľmi flexibilný proces v závislosti od vašich potrieb a je k dispozícii veľa možností. Pretože chceme, aby bola naša inštalácia čo najjednoduchšia, použijeme Weavenet doplnok, ktorý nevyžaduje žiadnu konfiguráciu ani extra kód a poskytuje jednu adresu IP na modul, čo je pre nás skvelé. Ak chcete vidieť viac možností, prosím skontrolujte tu.
Tieto príkazy budú dôležité pre nastavenie siete pod.
# export kubever = $ (verzia kubectl | base64 | tr -d '\ n') # kubectl apply -f " https://cloud.weave.works/k8s/net? verzia k8s = $ kubever "
Teraz, keď skontrolujete stav svojho hlavný uzol, to by malo byť 'Pripravený’.
# kubectl získať uzly.
Ďalej pridáme pracovné uzly do klastra.
Nasledujúce kroky budú prebiehať na zariadení pracovné uzly. Tieto kroky by ste mali vykonať na každom pracovný uzol pri vstupe do Kubernetes klaster.
Na tvojom worker-node-1 a worker-node-2, nastavte názov hostiteľa a v prípade, že nemáte server DNS, aktualizujte tiež svoj hlavný a pracovný uzol /etc/hosts súbor.
# hostnamectl set-hostname 'node-1' # mačka <> /etc /hosts. 10.128.0.27 hlavný uzol. 10.128.0.29 uzol-1 pracovník-uzol-1. 10.128.0.30 uzol-2 pracovný-uzol-2. EOF.
Môžete pingnúť hlavný uzol na otestovanie, či je váš aktualizovaný hostiteľský súbor v poriadku.
Ďalej deaktivujte SElinux a aktualizujte svoje pravidlá brány firewall.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = vynucovanie/SELINUX = vypnuté/g'/etc/sysconfig/selinux.
Na portoch nastavte nasledujúce pravidlá brány firewall. Uistite sa, že všetky príkazy brány firewall-cmd vracajú úspech.
# firewall-cmd --permanent --add-port = 6783/tcp. # firewall-cmd --permanent --add-port = 10250/tcp. # firewall-cmd --permanent --add-port = 10255/tcp. # firewall-cmd --permanent --add-port = 30000-32767/tcp. # firewall-cmd-znova načítať. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Budete musieť pridať Kubernetes archívy ručne, pretože v nich nie sú predinštalované CentOS 7.
mačka </etc/yum.repos.d/kubernetes.repo. [kubernetes] meno = Kubernetes. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. povolené = 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. EOF.
Keď je repo balíka pripravené, môžete pokračovať kubeadm a dok balíčky.
# yum nainštalovať kubeadm docker -y
Spustite a povoľte obe služby.
# systemctl povoliť docker. # systemctl spustiť docker. # systemctl povoliť kubelet. # systemctl start kubelet.
Teraz to požadujeme kubeadm inicializovaný, aby sa pridal do klastra. Môžete ho skopírovať a prilepiť do svojho uzol-1 a uzol-2 keby si to niekde skopíroval.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884c
Ako bolo navrhnuté v poslednom riadku, vráťte sa k svojmu hlavný uzol a skontrolujte, či pracovný uzol-1 a pracovný uzol-2 sa pripojili ku klastru pomocou nasledujúceho príkazu.
# kubectl získať uzly.
Ak všetky kroky prebehli úspešne, mali by ste to vidieť uzol-1 a uzol-2 v stave pripravenosti na hlavný uzol.
Odporúčame prečítať: Ako nasadiť Nginx na klaster Kubernetes
V tomto mieste sme úspešne dokončili inštaláciu a Kubernetes klaster zapnutý Centos 7 a úspešne sme zaradili dvoch pracovné uzly. Teraz môžete začať vytvárať pody a nasadzovať svoje služby.