GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Kubernetes (k8s) na Ubuntu 18.04 LTS

Kubernetes je bezplatný a otevřený nástroj pro orchestraci kontejnerů. Používá se k automatickému nasazení aplikací založených na kontejnerech v prostředí clusteru, kromě toho také ke správě Docker kontejnerů napříč hostiteli clusteru kubernetes. Kubernetes je také známý jako K8s .

V tomto článku ukážu, jak nainstalovat a nakonfigurovat dva uzly Kubernetes (1.13) pomocí kubeadm na systémech Ubuntu 18.04 / 18.10. Níže jsou uvedeny podrobnosti o nastavení mé laboratoře:

Budu používat tři systémy Ubuntu 18.04 LTS, kde jeden systém bude fungovat jako Kubernetes Master Node a další dva uzly budou fungovat jako Slave nod e a připojí se ke clusteru Kubernetes. Předpokládám, že na těchto třech systémech je nainstalováno minimálně 18,04 LTS.

  • Hlavní uzel Kubernetes – (Název hostitele:k8s-master , IP :192.168.1.70, OS:Minimální Ubuntu 18.04 LTS)
  • Kubernetes Slave Node 1 – (Název hostitele:k8s-worker-node1, IP:192.168.1.80, OS:Minimal Ubuntu 18.04 LTS)
  • Kubernetes Slave Node 2 – (Název hostitele:k8s-worker-node2, IP:192.168.1.90, OS:Minimal Ubuntu 18.04 LTS)

Poznámka: Kubernetes Slave Node je také známý jako Worker Node

Pojďme se vrhnout na kroky instalace a konfigurace k8s.

Krok:1) Nastavte název hostitele a aktualizujte soubor hostitelů

Přihlaste se k hlavnímu uzlu a nakonfigurujte jeho název hostitele pomocí příkazu hostnamectl

[e-mail chráněný]:~$ sudo hostnamectl set-hostname "k8s-master"[e-mail chráněný]:~$ exec bash[e-mail chráněný]:~$

Přihlaste se do Slave / Worker Nodes a nakonfigurujte jejich název hostitele pomocí příkazu hostnamectl,

[e-mail chráněný]:~$ sudo hostnamectl set-hostname k8s-worker-node1[e-mail protected]:~$ exec bash[email protected]:~$[email protected]:~$ sudo hostnamectl set-hostname k8s- worker-node2[e-mail chráněný]:~$ exec bash[e-mail chráněný]:~$

Přidejte následující řádky do souboru /etc/hosts na všech třech systémech

192.168.1.70     k8s-master192.168.1.80     k8s-worker-node1192.168.1.90     k8s-worker-node2

Krok:2) Nainstalujte a spusťte službu Docker na hlavních a podřízených uzlech

Spuštěním níže uvedeného příkazu apt-get nainstalujte Docker na hlavní uzel

[e-mail chráněný]:~$ sudo apt-get install docker.io -y

Spuštěním níže uvedeného příkazu apt-get nainstalujte docker na podřízené uzly

[e-mail chráněný]:~$ sudo apt-get install docker.io -y[e-mail chráněný]:~$ sudo apt-get install docker.io -y

Jakmile jsou balíčky Docker nainstalovány na všech třech systémech, spusťte a povolte službu docker pomocí níže uvedených příkazů systemctl, tyto příkazy je třeba provést na hlavních a podřízených uzlech.

~$ sudo systemctl spustit docker~$ sudo systemctl povolit docker Synchronizace stavu docker.service se skriptem služby SysV pomocí /lib/systemd/systemd-sysv-install.Probíhá:/lib/systemd/systemd-sysv-install enable docker ~$

Pomocí níže uvedeného příkazu docker ověřte, která verze Dockeru byla v těchto systémech nainstalována,

~$ docker --versionDocker verze 18.06.1-ce, sestavení e68fc7a~$

Krok:3) Konfigurace úložiště balíčků Kubernetes na hlavních a podřízených uzlech

Poznámka: Všechny příkazy v tomto kroku jsou pověřeny spuštěním na hlavních a podřízených uzlech

Nejprve nainstalujme některé požadované balíčky, spusťte následující příkazy na všech uzlech včetně hlavního uzlu

~$ sudo apt-get install apt-transport-https curl -y

Nyní přidejte klíč úložiště balíčku Kubernetes pomocí následujícího příkazu

:~$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key addOK:~$

Nyní nakonfigurujte úložiště Kubernetes pomocí níže uvedených příkazů apt, v tuto chvíli není úložiště balíčků Ubuntu 18.04 (bionic weaver) k dispozici, takže budeme používat úložiště balíčků Xenial Kubernetes.

:~$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Krok:4) Zakažte Swap a nainstalujte Kubeadm na všechny uzly

Poznámka: Všechny příkazy v tomto kroku jsou pověřeny spuštěním na hlavních a podřízených uzlech

Kubeadm je jednou z nejběžnějších metod používaných k nasazení clusteru kubernetes nebo jinými slovy můžeme říci, že se používá k nasazení více uzlů na clusteru kubernetes.

Podle oficiální webové stránky Kubernetes se doporučuje zakázat swap na všech uzlech včetně hlavního uzlu.

Spuštěním následujícího příkazu zakážete dočasné odkládání,

:~$ sudo swapoff -a

Chcete-li trvale zakázat swap, zakomentujte odkládací soubor nebo oddíl swap v souboru /etc/fstab.

Nyní nainstalujte balíček Kubeadm na všechny uzly včetně hlavního.

:~$ sudo apt-get install kubeadm -y

Jakmile jsou balíčky kubeadm úspěšně nainstalovány, ověřte verzi kubeadm pomocí příkazu beneath.

:~$ verze kubeadm verze kubeadm:&version.Info{Hlavní:"1", Vedlejší:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ecateeState":01Drean"21D9 -01-10T23:33:30Z", GoVersion:"go1.11.4", Kompilátor:"gc", Platforma:"linux/amd64"}:~$

Krok:5) Inicializace a spuštění clusteru Kubernetes na hlavním uzlu pomocí Kubeadm

Níže uvedený příkaz kubeadm na hlavním uzlu použijte pouze k inicializaci Kubernetes

[e-mail chráněný]:~$ sudo kubeadm init --pod-network-cidr=172.168.10.0/24

Ve výše uvedeném příkazu můžete použít stejnou síť podů nebo si vybrat vlastní síť podů, která vyhovuje vašemu prostředí. Jakmile je příkaz úspěšně proveden, dostaneme výstup něco jako níže,

Výše uvedený výstup potvrzuje, že hlavní uzel byl úspěšně inicializován, takže ke spuštění clusteru spusťte následující příkazy jeden po druhém,

[e-mail chráněný]:~$  mkdir -p $HOME/.kube[e-mail chráněný]:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[e-mail chráněný]:~ $ sudo chown $(id -u):$(id -g) $HOME/.kube/config[email protected]:~$

Ověřte stav hlavního uzlu pomocí následujícího příkazu

[e-mail chráněno]:~$ kubectl get nodesNAME         STAV     ROLE    VĚK   VERZE k8s-master   NotReady   master   18m   v1.13.2[chráněno e-mailem]:~$

Jak můžeme vidět na výše uvedeném výstupu příkazu, náš hlavní uzel není připraven, protože jsme zatím nenasadili žádný modul.

Pojďme nasadit pod síť, Pod síť je síť, přes kterou budou naše uzly clusteru komunikovat mezi sebou. Nasadíme Flannel jako naše síť podů bude Flannel poskytovat překryvnou síť mezi uzly clusteru.

Krok:6) Nasaďte Flannel jako síť podů z hlavního uzlu a ověřte jmenné prostory pod

Proveďte následující kubectl příkaz k nasazení sítě pod z hlavního uzlu

[e-mail chráněný]:~$ sudo kubectl použít -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Výstup příkazu výše by měl být něco jako níže

clusterrole.rbac.authorization.k8s.io/flannel createdclusterrolebinding.rbac.authorization.k8s.io/flannel createdserviceaccount/flannel createdconfigmap/kube-flannel-cfg createddaemonset.extensions/kube-flannel-ds-amd64 Created kube-flannel-ds-arm64 createddaemonset.extensions/kube-flannel-ds-arm createddaemonset.extensions/kube-flannel-ds-ppc64le createddaemonset.extensions/kube-flannel-ds-s390x vytvořeno[e-mail 

Nyní ověřte stav hlavního uzlu a jmenné prostory pod pomocí příkazu kubectl

[email protected]:~$ sudo  kubectl get nodesNAME         STAV   ROLE    VĚK   VERSIONk8s-master   Připraveno    master   78m   v1.13.2[e-mail chráněný název]:~$[e-mail chráněný prostor s jméno jméno getl - jméno s jméno jméno jméno s ku BACE$ chráněné Stav připravenosti Restartuje AGEKUBE-SYSTEM COREDNS-86C58D9DF4-PX4SJ 1/1 Spuštění 0 79MKube-System COREDNS-86C58D9DF4-WZDZK 1/1 Spuštění 0 79mKube-System EVCD-K8S-MASTER 1/1 Spuštění 1 79MKube-System Kube-apiserver-k8 -Master 1/1 Spuštění 1 79mKube-System Kube-Controller-Manager-K8S-Master 1/1 Spuštění 1 79MKube-System Kube-flanel-DS-AMD64-9TN8Z 1/1 běží 0 14mKube-System Kube-Proxy-Cjzz2 1 /1     Běží   1          79mkube-system   kube-scheduler-k8s-master            1/1     Běží   1           79 m [chráněno e-mailem]:~$

Jak můžeme vidět na výše uvedeném výstupu, stav našeho hlavního uzlu se změnil na „Připraveno ” a všechny jmenné prostory pod jsou ve stavu běhu, takže to potvrzuje, že náš hlavní uzel je ve zdravém stavu a připraven k vytvoření clusteru.

Krok:7) Přidejte podřízené nebo pracovní uzly do clusteru

Poznámka: V kroku 5, výstup příkazu kubeadm, jsme získali úplný příkaz, který budeme muset použít na podřízeném nebo pracovním uzlu pro připojení ke clusteru

Přihlaste se k prvnímu podřízenému uzlu (k8s-worker-node1) a spusťte následující příkaz pro připojení ke clusteru,

[e-mail chráněný]:~$ sudo kubeadm připojit se 192.168.1.70:6443 --token cwxswk.hbkuu4jua82o80d1 --discovery-token-ca-cert-hash sha256:ff1b0cfe5af4254b806:256:ff1b0cfe5af4254b806 

Výstup výše uvedeného příkazu by měl být něco takového,

Podobně spusťte stejný příkaz kubeadm join na druhém pracovním uzlu

[e-mail chráněný]:~$ sudo kubeadm připojit se 192.168.1.70:6443 --token cwxswk.hbkuu4jua82o80d1 --discovery-token-ca-cert-hash sha256:ff1b0cfe5af4254b806:256:ff1b0cfe5af4254b806 

Výstup výše by měl být něco jako níže,

Nyní přejděte na hlavní uzel a spusťte níže příkaz ke kontrole stavu hlavního a podřízeného uzlu

 [Chráněné e-mailem]:~ $ Kubectl Získejte Nodesname Status Roles Věk Versionk8S-Master Ready Master 100m v1.13.2k8S-Worker-Node1 Ready  10m V1.13.2k8S-Worker-Node2 Ready  4M6S V1. 13.2[e-mail chráněný]:~$

Výše uvedený příkaz potvrzuje, že jsme úspěšně přidali naše dva pracovní uzly do clusteru a jejich stav je Připraven. To znamená, že jsme úspěšně nainstalovali a nakonfigurovali dva uzlové clustery Kubernetes na systémech Ubuntu 18.04.

Přečtěte si více o:Nasazení modulu, řadiče replikace a služby v Kubernetes


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Ansible na Ubuntu 18.04 LTS

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04 LTS

  1. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  1. Jak nainstalovat Kubernetes (k8s) na Ubuntu 20.04 LTS Server

  2. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 18.04 LTS