Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux
- 3530
- 864
- Pan Jeremiasz Więcek
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
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.
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 initKubernetes 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-NamespacesSieć 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: 72AD481CEE4918CF2314738419356C9A402FB609263ADAD48C13797D0CBA2341Dołą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łyWyś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 PSNowy 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 SVCWyś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