Jak zainstalować Kubernetes na Ubuntu 18.04 Bionic Beaver Linux

Jak zainstalować Kubernetes na Ubuntu 18.04 Bionic Beaver Linux

Cel

Celem jest zainstalowanie Kubernetes na Ubuntu 18.04 Bionic Beaver Linux

Wersje systemu operacyjnego i oprogramowania

  • System operacyjny: - Ubuntu 18.04 Bionic Beaver Linux
  • Oprogramowanie: - Kubernetes v1.10.0

Wymagania

Uprzywilejowany dostęp do systemu Ubuntu jako root lub przez sudo Wymagane jest polecenie.

Scenariusz

W tym przewodniku będziemy konfigurować najprostszy możliwy klaster Kubernetes składający się z dwóch węzłów. Pierwszy węzeł z nazwą hosta Kubernetes-Master będzie działać jako węzeł główny.

Drugi węzeł z nazwą hosta Kubernetes-Master Również Ubuntu 18.04 będzie węzłem niewolniczym, po prostu dołączając do klastra Kuberneets. Po uruchomieniu klastra Kubernetes jako dowodu koncepcji wdrożymy kontener serwerowy Nginx.

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

Inne wersje tego samouczka

Ubuntu 20.04 (Focal Fossa)

Instrukcje

Zainstaluj Docker

Pierwszym krokiem jest zainstalowanie Dockera w każdym węźle. Obejmuje to zarówno węzły Master i Slave. Wykonaj następujące polecenie Linux, aby zainstalować Docker we wszystkich węzłach Kubernetes:

$ sudo apt instal instaluj Docker.io 

Po zainstalowaniu Docker upewnij się, że jest włączony po ponownym uruchomieniu:

$ sudo systemctl włącz Docker 

Zainstaluj Kubernetes

Na tym etapie jesteśmy gotowi do zainstalowania Kubernetes. Po raz kolejny musimy zainstalować Kubernetes we wszystkich węzłach. Wykonaj poniższe polecenie we wszystkich węzłach (Master & Slave), aby zainstalować Kubernetes:

Zacznijmy od dodania klucza podpisania Kubernetes:

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

Następnie dodaj repozytorium Kubernetes i zainstaluj Kubernetes:

NOTATKA: W momencie pisania tylko Ubuntu 16.04 Xenial Kubernetes Repozytorium jest dostępne. Wymień poniżej ksenial z bioniczny kod namienia raz Ubuntu 18.04 Repozytorium Kubernetes staje się dostępne.

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

Kubernetes odmówi funkcjonowania, jeśli Twój system używa pamięci wymiany, dlatego musimy wyłączyć pamięć zamiany na wszystkich węzłach (Master & Slave):

$ sudo swapoff -a 


Następnie upewnij się, że wszystkie twoje węzły mają unikalną nazwę hosta. Tak więc, jeśli tego nie zrobiłeś, ustaw nazwę hosta na swoje węzły. W naszym scenariuszu ustawimy węzeł główny za pomocą Kubernetes-Master Nazwa hosta:

$ sudo hostnamectl set-hostname kubernetes-master 

i węzeł niewolnika z Kubernetes-Master Nazwa hosta:

$ sudo hostnamectl set-hostname kubernetes-slave 

Na koniec warto wspomnieć, że wszystkie twoje węzły powinny mieć 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ć, wykonaj następujące polecenie Linux w węźle głównym:

Kubernetes-Master: ~ $ sudo kubeadm init--pod-network-cidr = 10.244.0.0/16 
Kubernetes na Ubuntu 18.04 Węzeł główny jest teraz inicjowany.

Zanotuj całe Kubeadm dołącz polecenie z dołu powyższego wyjścia inicjalizacji węzła głównego Kubernetes, ponieważ użyjesz tego polecenia później podczas łączenia klastra Kubernetes z węzłami niewolników.

Następnie, jak sugerowało, że wyjście inicjalizacji węzła Kubernetes wykonało polecenia Bellow jako zwykłego użytkownika, aby rozpocząć za pomocą klastra Kubernetes:

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 węzłami w klastrze Kubernetes. W tym celu użyjemy sieci flanelowej:

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

W zależności od środowiska może potrwać kilka sekund lub minuty, aby podnieść całą sieć flanelową. Użyj Kubectl polecenie potwierdzenia, że ​​wszystko jest gotowe i gotowe:

Kubernetes-Master: ~ $ kubectl get PODS-WALL-Namespaces 
Wdrożona sieć flanelowa. Jeśli się powiedzie, powinieneś zobaczyć swoje dane wyjściowe podobne do tego powyżej.

Dołącz do klastra Kubernetes

Wszystko powinno być teraz gotowe, aby nasz węzł (y) dołączył do klastra Kubernetes. 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-Slave: ~ $ sudo kubeadm dołącz do 10.1.1.9: 6443 - -token qdjnpd.5Glu39uxr92xarsj--Discovery-Token-CA-CERT-HASH SHA256: ED0684156C718CAF425CEAE6C85A56C05F7B49037CDE3A2F1FD57430A4F58F89 
Węzeł niewolniczy z powodzeniem dołączył do naszego klastra Kubernetes.

W twoim węźle głównym Kubernetes potwierdza, że ​​węzeł Kubernetes-Slave jest teraz częścią naszego klastra Kubernetes:

Kubernetes-Master: ~ $ kubectl otrzymuj węzły 
Lista wszystkich połączonych węzłów Kubernetes.

Wdrażanie usługi w klastrze Kubernetes

Jako dowód koncepcji wdrożymy teraz serwer Nginx w naszym nowym klastrze Kubernetes. Teraz 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 niewolników:

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

Aby potwierdzić, że nasza nowa usługa Nginx jest uruchomiona lista wszystkich dostępnych usług w węźle głównym i skorzystaj z kędzior polecenie do wykonania żądania HTTP w klastrze IP:

Kubernetes-Master: ~ $ kubectl zdobądź svc kubernetes-master: ~ $ curl -i 10.101.230.239 
Usługa Nginx na Ubuntu 18.04 Kubernetes Cluster

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux
  • Jak zainstalować Kubernetes na Ubuntu 22.04 JAMMY Jellyfish…
  • Jak utworzyć klaster Kubernetes
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Ubuntu 20.04 Przewodnik
  • Ubuntu 22.04 Przewodnik
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć