Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux

Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux

Kubernetes jest wiodącym oprogramowaniem w orkiestracji kontenerowej. Kubernetes działa poprzez zarządzanie klastrami, które są po prostu zestawem hostów przeznaczonych do uruchamiania kontenerowanych aplikacji. Aby mieć klaster Kubernetes, potrzebujesz minimum dwóch węzłów - a Węzeł główny i a Węzeł roboczy. Oczywiście możesz rozszerzyć klaster, dodając tyle węzłów pracowniczych, ile potrzebujesz.

W tym przewodniku zamierzamy wdrożyć klaster Kubernetes składający się z dwóch węzłów, z których oba działają Ubuntu 20.04 Focal Fossa. Posiadanie dwóch węzłów w naszym klastrze jest najbardziej podstawową konfiguracją, ale będziesz mógł skalować tę konfigurację i dodać więcej węzłów, jeśli chcesz.

W tym samouczku nauczysz się:

  • Jak zainstalować Dockera
  • Jak zainstalować Kubernetes
  • Jak skonfigurować węzeł główny i pracowniczy
  • Jak dołączyć do węzła pracownika do klastra Kubernetes
  • Jak wdrożyć Nginx (lub dowolną aplikację kontenerową) w klastrze Kubernetes
Wdrożenie Kubernetes na Ubuntu 20.04 Focal Fossa Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Zainstalowany Ubuntu 20.04 lub zaktualizowane Ubuntu 20.04 Focal Fossa
Oprogramowanie Kubernetes
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Scenariusz

Zanim zanurzymy się, opracujmy szczegółowe informacje o naszym scenariuszu. Jak wspomniano powyżej, nasz klaster będzie miał dwa węzły i oba te węzły działają Ubuntu 20.04 Focal Fossa. Jeden będzie Węzeł główny i można go łatwo zidentyfikować z nazwą hosta Kubernetes-Master. Drugi węzeł będzie naszym Węzeł roboczy i mieć nazwę hosta Kubernetes-Worker.

Węzeł główny wdroży klaster Kubernetes, a węzeł pracowniczy po prostu dołącza do niego. Ponieważ klastry Kubernetes są zaprojektowane do uruchamiania oprogramowania kontenerowego, po uruchomieniu naszej klastry zamierzamy wdrożyć kontener serwerowy Nginx jako dowód koncepcji.



Zainstaluj Docker

Oba węzły będą musiały zainstalować na nich Docker, ponieważ Kubernetes na tym polega. Otwórz terminal i wpisz następujące polecenia zarówno na węźle Master, jak i Worker, aby zainstalować Docker:

$ sudo apt aktualizacja $ sudo apt instal instaluj doker.io 

Po zakończeniu instalacji Docker użyj następujących kommandów, aby uruchomić usługę i upewnić się, że zaczyna się automatycznie po każdym ponownym uruchomieniu:

$ sudo systemctl start docker $ sudo systemCtl Włącz Docker 

Zainstaluj Kubernetes

Teraz jesteśmy gotowi do zainstalowania Kubernetes. Podobnie jak wszystkie inne polecenia do tego momentu, upewnij się, że robisz to w obu węzłach. Na swoim głównym i pracowniku Kubernetes najpierw zainstaluj Apt-Transport-Https Pakiet, który pozwoli nam używać HTTP i HTTPS w repozytoriach Ubuntu. Teraz jest też dobry moment na zainstalowanie kędzior Ponieważ za chwilę będziemy tego potrzebować:

$ sudo apt Zainstaluj curl apt-transport-https 

Następnie dodaj klucz podpisujący Kubernetes do obu systemów:

$ curl -s https: // pakiety.Chmura.Google.com/apt/doc/apt-key.GPG | sudo apt-key add 

Następnie dodamy repozytorium pakietu Kubernetes. Zauważ, że w chwili pisania tego pisania Ubuntu 16.04 Xenial Xerus to najnowsze dostępne repozytorium Kubernetes. Powinno to ostatecznie zastąpić Ubuntu 20.04 FOSSA, a następnie następujące polecenie można aktualizować z ksenialny Do ogniskowy.

$ sudo apt-add-repozytory „Deb http: // apt.Kubernetes.IO/ Kubernetes-Xenial Main " 

Teraz możemy zainstalować Kubernetes:

$ sudo apt instaluj kubeadm kubelet kubectl kubernetes-cni 

Wyłącz pamięć zamiany

Kubernetes odmówi funkcjonowania, jeśli system używa pamięci wymiany. Przed przejściem upewnij się, że węzeł Master i Worker mają wyłączoną pamięć zamienioną w tym poleceniu:

$ sudo swapoff -a 

To polecenie wyłączy pamięć zamiany, dopóki systemy nie uruchomi się ponownie, więc aby ta zmiana będzie się utrzymywać, użyj Nano lub ulubionego edytora tekstu, aby otworzyć ten plik:

$ sudo nano /etc /fstab 

W tym pliku skomentuj /Zamień plik linia, poprzedzając ją # symbol, jak pokazano poniżej. Następnie zamknij ten plik i zapisz zmiany.

Dodaj #, aby skomentować linię zamiennika

Ustaw nazwy hostów

Następnie upewnij się, że wszystkie twoje węzły mają unikalną nazwę hosta. W naszym scenariuszu używamy nazw hostów Kubernetes-Master I Kubernetes-Worker łatwo różnicować naszych gospodarzy i zidentyfikować ich role. Użyj następującego polecenia, jeśli chcesz zmienić nazwy hosta:

$ sudo hostnamectl set-hostname kubernetes-master 


Oraz w węźle robotniczym:

$ sudo hostnamectl set-hostname kubernetes-robotnik 

Nie zauważysz zmian nazwy hosta w terminalu, dopóki nie otworzysz nowego. Na koniec upewnij się, że wszystkie twoje węzły mają dokładną godzinę i datę, w przeciwnym razie wpadniesz w kłopoty z nieprawidłowymi certyfikatami TLS.

Zainicjuj serwer Kubernetes Master

Teraz jesteśmy gotowi zainicjować węzeł główny Kubernetes. Aby to zrobić, wprowadź następujące polecenie w swoim węźle głównym:

Kubernetes-Master: ~ $ sudo kubeadm init 
Kubernetes na Ubuntu 20.04 Węzeł główny jest teraz inicjowany

Węzeł główny Kubernetes został teraz zainicjowany. Wyjście daje nam Kubeadm dołącz polecenie, które będziemy musieli użyć później, aby dołączyć do naszych węzłów (węzłów) do węzła głównego. Więc zwróć uwagę na to polecenie na później.

Dane wyjściowe z góry zaleca nam również uruchomienie kilku poleceń jako zwykłego użytkownika, aby zacząć korzystać z klastra Kubernetes. Uruchom te trzy polecenia w węźle głównym:

Kubernetes -Master: ~ $ mkdir -p $ home/.Kube Kubernetes -Master: ~ $ sudo cp -i/etc/kubernetes/admin.conf $ home/.kube/config kubernetes -master: ~ $ sudo chown $ (id -u): $ (id -g) $ home/.kube/config 

Wdrożenie sieci POD

Następnym krokiem jest wdrożenie sieci POD. Sieć POD jest używana do komunikacji między hostami i jest niezbędna do poprawnego funkcjonowania klastra Kubernetes. Do tego użyjemy sieci Flannel POD. Wydaj następujące dwa polecenia w węźle głównym:

Kubernetes -Master: ~ $ kubectl Zastosuj -f https: // RAW.Githubusercontent.com/coreos/flannel/master/dokumentacja/kube-flannel.YML Kubernetes -Master: ~ $ kubectl Zastosuj -f https: // raw.Githubusercontent.com/coreos/flannel/master/dokumentacja/k8s-manifests/kube-flannel-rbac.yml 

W zależności od środowiska może zająć zaledwie kilka sekund lub minuty, aby podnieść całą sieć flanelową. Możesz użyć Kubectl polecenie potwierdzenia, że ​​wszystko jest gotowe i gotowe:

Kubernetes-Master: ~ $ kubectl get PODS-WALL-Namespaces 
Sieć POD jest pomyślnie wdrażana

Kiedy cała kolumna statusu pokazuje „Uruchamianie”, wskazuje, że wszystko jest gotowe wdrażanie i dobrze się udać.

Dołącz do klastra Kubernetes

Teraz nasz klaster jest gotowy do dołączenia węzłów pracowniczych. Użyj Kubeadm dołącz Polecenie pobrane wcześniej z wyjścia inicjalizacji węzła głównego Kubernetes, aby dołączyć do klastra Kubernetes:

Kubernetes-Worker: ~ $ sudo kubeadm dołącz do 192.168.1.220: 6443 -token 1exb8s.2T4K3B5syfc3jfmo--Discovery-Token-CA-CERT-HASH SHA256: 72AD481CEE4918CF2314738419356C9A402FB609263ADAD48C13797D0CBA2341 
Dołączenie do węzła robotniczego do klastra Kubernetes

Z powrotem w węźle głównym Kubernetes, potwierdź, że Kubernetes-Worker jest teraz częścią naszego klastra Kubernetes z tym poleceniem:

Kubernetes-Master: ~ $ kubectl otrzymuj węzły 
Wyświetla, jakie węzły są obecnie w klastrze Kubernetes

Wdrażanie usługi w klastrze Kubernetes

Teraz jesteśmy gotowi wdrożyć usługę w klastrze Kubernetes. W naszym przykładzie wdrożymy serwer Nginx w naszym nowym klastrze jako dowód koncepcji. Uruchom następujące dwa polecenia w swoim węźle głównym:

Kubernetes-Master: ~ $ Kubectl Run --image = nginx nginx-server --port = 80 --env = "domain = klaster" Kubernetes-Master: ~ $ Kubectl Expose wdrażanie nginx-serwer --port = 80 --Name = nginx-http 


Powinieneś teraz zobaczyć nowy kontener Docker Nginx wdrożony w węźle pracowniczym:

Kubernetes-Worker: ~ $ sudo docker PS 
Nowy kontener Docker Nginx jest uruchomiony w węźle pracowniczym Kubernetes

Możesz zobaczyć działającą listę wszystkich dostępnych usług działających w Twoim klastrze z następującym poleceniem, wydanym z węzła Kubernetes Maser:

Kubernetes-Master: ~ $ Kubectl GET SVC 
Wyświetla to, co usługi kontenerowe działają w klastrze Kubernetes

Wniosek

W tym artykule nauczyliśmy się konfigurować Kubernetes do wdrażania aplikacji kontenerowych na Ubuntu 20.04 Focal Fossa. Konfigurujemy podstawowy klaster składający się z dwóch hostów, mistrza i pracownika, choć w razie potrzeby można to skalować do wielu innych węzłów pracowniczych.

Widzieliśmy, jak skonfigurować Docker i inne warunki wstępne, a także wdrożyć serwer Nginx w naszym nowym klastrze jako dowód koncepcji. Oczywiście tę samą konfigurację można wykorzystać do wdrożenia dowolnej liczby aplikacji kontenerowych.

Powiązane samouczki Linux:

  • Jak zainstalować Kubernetes na Ubuntu 22.04 JAMMY Jellyfish…
  • Jak utworzyć klaster Kubernetes
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Porównanie Linux Apache Prefork vs Pracowni
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Do czego służy Kubernetes?
  • Jak zarządzać klastrami Kubernetes z Kubectl
  • Kubeadm vs Minikube, Plus and Cons
  • Kubernetes vs Docker, jaka jest różnica?
  • Jak wdrożyć WordPress w klastrze Kubernetes