GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Kubernetes na Ubuntu 20.04 Focal Fossa Linux

Kubernetes je přední software v orchestraci kontejnerů. Kubernetes funguje tak, že spravuje clustery, což je prostě sada hostitelů určená pro spouštění kontejnerizovaných aplikací. Abyste mohli mít cluster Kubernetes, potřebujete minimálně dva uzly – hlavní uzel a pracovní uzel . Samozřejmě můžete cluster rozšířit přidáním tolika pracovních uzlů, kolik potřebujete.

V této příručce nasadíme cluster Kubernetes sestávající ze dvou uzlů, z nichž oba používají Ubuntu 20.04 Focal Fossa. Mít dva uzly v našem clusteru je nejzákladnější možná konfigurace, ale budete moci tuto konfiguraci škálovat a přidat další uzly, pokud budete chtít.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat Docker
  • Jak nainstalovat Kubernetes
  • Jak nakonfigurovat hlavní a pracovní uzel
  • Jak připojit pracovní uzel ke clusteru Kubernetes
  • Jak nasadit Nginx (nebo jakoukoli kontejnerizovanou aplikaci) v clusteru Kubernetes

Nasazení Kubernetes na Ubuntu 20.04 Focal Fossa

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Nainstalováno Ubuntu 20.04 nebo upgradované Ubuntu 20.04 Focal Fossa
Software Kubernetes
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Scénář

Než se ponoříme, pojďme si ujasnit podrobnosti našeho scénáře. Jak bylo uvedeno výše, náš cluster bude mít dva uzly a oba tyto uzly používají Ubuntu 20.04 Focal Fossa. Jedním z nich bude hlavní uzel a lze jej snadno identifikovat podle názvu hostitele kubernetes-master . Druhým uzlem bude náš pracovní uzel a mít název hostitele kubernetes-worker .

Hlavní uzel nasadí cluster Kubernetes a pracovní uzel se k němu jednoduše připojí. Vzhledem k tomu, že clustery Kubernetes jsou navrženy tak, aby spouštěly kontejnerizovaný software, poté, co náš cluster zprovozníme a spustíme, nasadíme serverový kontejner Nginx jako důkaz konceptu.

Nainstalovat Docker

Oba uzly budou muset mít nainstalovaný Docker, protože na něj Kubernetes spoléhá. Otevřete terminál a zadejte následující příkazy do hlavního i pracovního uzlu pro instalaci Dockeru:

$ sudo apt update$ sudo apt install docker.io

Jakmile Docker dokončí instalaci, pomocí následujících příkazů spusťte službu a ujistěte se, že se spouští automaticky po každém restartu:

$ sudo systemctl spustit docker$ sudo systemctl povolit docker

Nainstalujte Kubernetes

Nyní jsme připraveni nainstalovat Kubernetes. Stejně jako všechny ostatní příkazy až do tohoto bodu se ujistěte, že to děláte na obou uzlech. Na hlavním a pracovním serveru Kubernetes nejprve nainstalujte apt-transport-https balíček, který nám umožní používat http a https v úložištích Ubuntu. Nyní je také vhodný čas nainstalovat curl protože to za chvíli budeme potřebovat:

$ sudo apt install apt-transport-https curl

Dále přidejte podpisový klíč Kubernetes do obou systémů:

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

Dále přidáme úložiště balíčků Kubernetes. Všimněte si, že v době psaní tohoto článku je Ubuntu 16.04 Xenial Xerus nejnovější dostupné úložiště Kubernetes. To by mělo být nakonec nahrazeno Ubuntu 20.04 Focal Fossa a následující příkaz lze poté aktualizovat z xenial na focal .

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

Nyní můžeme nainstalovat Kubernetes:

$ sudo apt nainstalovat kubeadm kubelet kubectl kubernetes-cni

Zakázat odkládací paměť

Kubernetes odmítne fungovat, pokud váš systém používá odkládací paměť. Než budete pokračovat dále, ujistěte se, že hlavní a pracovní uzel mají vypnutou odkládací paměť tímto příkazem:

$ sudo swapoff -a

Tento příkaz zakáže odkládací paměť, dokud se vaše systémy nerestartují, takže aby tato změna přetrvávala, otevřete tento soubor pomocí nano nebo vašeho oblíbeného textového editoru:

$ sudo nano /etc/fstab

Uvnitř tohoto souboru zakomentujte /swapfile řádek tak, že před něj bude # symbol, jak je vidět níže. Poté tento soubor zavřete a uložte změny.

Chcete-li zakomentovat řádek swapfile

, přidejte #

Nastavte názvy hostitelů

Dále se ujistěte, že všechny vaše uzly mají jedinečný název hostitele. V našem scénáři používáme názvy hostitelů kubernetes-master a kubernetes-worker abychom mohli snadno odlišit naše hostitele a identifikovat jejich role. Pokud potřebujete změnit názvy hostitelů, použijte následující příkaz:

$ sudo hostnamectl set-hostname kubernetes-master

A na pracovním uzlu:

$ sudo hostnamectl set-hostname kubernetes-worker

Změny názvu hostitele v terminálu si nevšimnete, dokud neotevřete nový. Nakonec se ujistěte, že všechny vaše uzly mají přesný čas a datum, jinak se dostanete do problémů s neplatnými certifikáty TLS.

Inicializovat hlavní server Kubernetes

Nyní jsme připraveni inicializovat hlavní uzel Kubernetes. Chcete-li tak učinit, zadejte na svém hlavním uzlu následující příkaz:

kubernetes-master:~$ sudo kubeadm init

Kubernetes na hlavním uzlu Ubuntu 20.04 je nyní inicializován

Hlavní uzel Kubernetes byl nyní inicializován. Výstup nám poskytne kubeadm join příkaz, který budeme muset později použít k připojení našeho pracovního uzlu (uzlů) k hlavnímu uzlu. Poznamenejte si tedy tento příkaz na později.

Výstup shora nám také radí, abychom jako běžný uživatel spustili několik příkazů, abychom mohli začít používat cluster Kubernetes. Spusťte tyto tři příkazy na hlavním uzlu:

kubernetes-master:~$ mkdir -p $HOME/.kubekubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configkubernetes-master:~$ sudo chown $( id -u):$(id -g) $HOME/.kube/config

Nasazení sítě podů

Dalším krokem je nasazení sítě pod. Síť pod se používá pro komunikaci mezi hostiteli a je nezbytná pro správné fungování clusteru Kubernetes. K tomu použijeme síť Flannel pod. V hlavním uzlu zadejte následující dva příkazy:

kubernetes-master:~$ použít kubectl -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubernetes-master:~$ použít kubectl -f https://raw .githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml

V závislosti na vašem prostředí může spuštění celé flanelové sítě trvat jen několik sekund nebo minutu. Můžete použít kubectl příkaz k potvrzení, že je vše v pořádku a připraveno:

kubernetes-master:~$ kubectl získat pody --all-namespaces

Síť pod je úspěšně nasazena

Když se ve všech sloupcích STAV zobrazuje „Spuštěno“, znamená to, že vše je dokončeno a je připraveno.

Připojte se ke clusteru Kubernetes

Nyní je náš cluster připraven na připojení pracovních uzlů. Použijte kubeadm join příkaz získaný dříve z inicializačního výstupu hlavního uzlu Kubernetes pro připojení ke clusteru Kubernetes:

kubernetes-worker:~$ sudo kubeadm připojit se k 192.168.1.220:6443 --token 1exb8s.2t4k3b5syfc3jfmo --discovery-token-ca-cert-hash sha256:72ad481cf261416256:72ad481cee49148  

Připojování pracovního uzlu ke clusteru Kubernetes

Zpět na hlavním uzlu Kubernetes potvrďte kubernetes-worker je nyní součástí našeho clusteru Kubernetes s tímto příkazem:

kubernetes-master:~$ kubectl get nodes

Zobrazuje, jaké uzly jsou aktuálně v clusteru Kubernetes

Nasazení služby na clusteru Kubernetes

Nyní jsme připraveni nasadit službu do clusteru Kubernetes. V našem příkladu nasadíme server Nginx do našeho nového clusteru jako důkaz koncepce. Na hlavním uzlu spusťte následující dva příkazy:

kubernetes-master:~$ kubectl spustit --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"kubernetes-master:~$ kubectl vystavit nasazení nginx-server --port=80 --name=nginx-http

Nyní byste měli vidět nový kontejner nginx docker nasazený na vašem pracovním uzlu:

kubernetes-worker:~$ sudo docker ps

Na pracovním uzlu Kubernetes

je spuštěn nový kontejner Nginx dockeru

Můžete zobrazit seznam všech dostupných služeb spuštěných ve vašem clusteru pomocí následujícího příkazu vydaného z uzlu Kubernetes maser:

kubernetes-master:~$ kubectl získat svc

Zobrazuje, jaké kontejnerizované služby běží v clusteru Kubernetes

Závěr

V tomto článku jsme se naučili, jak nastavit Kubernetes pro nasazení kontejnerových aplikací na Ubuntu 20.04 Focal Fossa. Nastavíme základní cluster sestávající ze dvou hostitelů, hlavního a pracovního, i když jej lze v případě potřeby škálovat na mnohem více pracovních uzlů.

Viděli jsme, jak nakonfigurovat Docker a další předpoklady, a také nasadit server Nginx v našem novém clusteru jako důkaz konceptu. Stejnou konfiguraci lze samozřejmě použít k nasazení libovolného počtu kontejnerizovaných aplikací.


Ubuntu
  1. Jak nainstalovat docker-compose na Ubuntu 20.04 Focal Fossa Linux

  2. Jak nainstalovat LaTex na Ubuntu 20.04 Focal Fossa Linux

  3. Jak nainstalovat MATLAB na Ubuntu 20.04 Focal Fossa Linux

  1. Jak nainstalovat písma na Ubuntu 20.04 Focal Fossa Linux

  2. Jak nainstalovat Telegram na Ubuntu 20.04 Focal Fossa Linux

  3. Jak nainstalovat Kodi na Ubuntu 20.04 Focal Fossa Linux

  1. Jak nainstalovat Viber na Ubuntu 20.04 Focal Fossa Linux

  2. Jak nainstalovat RStudio na Ubuntu 20.04 Focal Fossa Linux

  3. Jak nainstalovat Yarn na Ubuntu 20.04 Focal Fossa Linux