Zainstaluj i wdróż Kubernetes na Ubuntu 18.04 LTS


Co to jest Kubernetes?

Kubernetes to darmowy i otwarty system zarządzania kontenerami, który zapewnia platformę do automatyzacji wdrażania, skalowania i operacji kontenerów aplikacji w klastrach komputerów hostów. Dzięki Kubernetes możesz swobodnie korzystać z infrastruktury hybrydowej, lokalnej i chmury publicznej w celu uruchamiania zadań wdrażania w organizacji.

W tym samouczku wyjaśnimy, jak zainstalować Kubernetes w systemie Ubuntu, a także wdrożyć Kubernetes w dwuwęzłowym klastrze Ubuntu.

Polecenia i procedury wymienione w tym artykule zostały uruchomione w systemie Ubuntu 18.04 LTS. Ponieważ będziemy używać wiersza poleceń Ubuntu, Terminal, do uruchamiania wszystkich poleceń, możesz go otworzyć albo poprzez system Dash, albo skrót Ctrl + Alt + T.

Instalacja Kubernetes

Dwuwęzłowy klaster, który utworzymy w tym artykule, będzie się składał z węzła głównego i węzła podrzędnego. Oba te węzły muszą mieć na nich zainstalowany Kubernetes. Dlatego wykonaj kroki opisane poniżej, aby zainstalować Kubernetes na obu węzłach Ubuntu.

Krok 1: Zainstaluj Docker na obu węzłach

Zainstaluj narzędzie Docker na obu węzłach, uruchamiając następującą komendę sudo w terminalu każdego węzła:

$ sudo apt install docker.io

Zostaniesz poproszony z Y / n opcja, aby kontynuować instalację. Wpisz Y, a następnie naciśnij Enter, aby kontynuować. Docker zostanie następnie zainstalowany w twoim systemie. Możesz zweryfikować instalację, a także sprawdzić numer wersji Dockera za pomocą następującego polecenia:

$ docker --version

Krok 2: Włącz Docker na obu węzłach

Włącz narzędzie Docker na obu węzłach, uruchamiając następujące polecenie na każdym :

$ sudo systemctl enable docker

Krok 3: Dodaj klucz podpisywania Kubernetes na obu węzłach

Uruchom następujące polecenie, aby uzyskać klucz podpisywania Kubernetes:

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

Jeśli Curl nie jest zainstalowany w twoim systemie, możesz zainstalować go za pomocą następującego polecenia jako root:

$ sudo apt install curl

Zostaniesz poproszony o opcję T / n, aby kontynuować instalację. Wpisz Y, a następnie naciśnij Enter, aby kontynuować. Narzędzie Curl zostanie następnie zainstalowane w twoim systemie.

Krok 4: Dodaj Xenial Kubernetes Repository na obu węzłach

Uruchom następującą komendę na obu węzłach, aby dodać Xenial Kubernetes Repository:

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

Krok 5: Zainstaluj Kubeadm

Ostatni krok w Proces instalacji polega na zainstalowaniu Kubeadm na obu węzłach za pomocą następującego polecenia:

$ sudo apt install kubeadm

Zostaniesz poproszony o opcję Y / n, aby kontynuować instalację. Wpisz Y, a następnie naciśnij Enter, aby kontynuować. Kubeadm zostanie następnie zainstalowany w twoim systemie.

Możesz sprawdzić numer wersji Kubeadm, a także zweryfikować instalację za pomocą następującego polecenia:

$ kubeadm version

Wdrożenie Kubernetes

Krok 1: Wyłącz pamięć wymiany (jeśli jest uruchomiona) na obu węzłach

Musisz wyłączyć pamięć wymiany w obu węzłach, ponieważ Kubernetes nie działa poprawnie w systemie, który używa pamięci wymiany.Uruchom następującą komendę na obu węzłach, aby wyłączyć pamięć wymiany

$ sudo swapoff -a

Krok 2: Podaj unikalne nazwy hosta każdemu węzłowi

Uruchom następującą komendę w węźle głównym, aby nadać mu unikalną nazwę hosta:

$ sudo hostnamectl set-hostname master-node

Uruchom następującą komendę w węźle podrzędnym, aby nadać jej unikalną nazwę hosta:

$ hostnamectl set-hostname slave-node

Krok 3: Zainicjuj Kubernetes w węźle głównym

Uruchom następującą komendę jako sudo w węźle głównym:

$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Proces ten może potrwać minutę lub dłużej, w zależności od połączenia internetowego. Dane wyjściowe tego polecenia są bardzo ważne:

Zanotuj następujące informacje:

Aby rozpocząć korzystanie z klastra, musisz uruchomić następujące funkcje jako zwykły użytkownik:

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

Możesz teraz dołączyć do dowolnej liczby komputerów, uruchamiając następujące polecenie na każdym węźle

jako root:

kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

Teraz uruchom polecenia sugerowane w danych wyjściowych, aby rozpocząć korzystanie z klastra:

Możesz sprawdzić status węzeł główny, uruchamiając następującą komendę:

$ kubectl get nodes

Przekonasz się, że status węzła głównego nie jest jeszcze „gotowy”. Wynika to z faktu, że w węźle głównym jeszcze nie wdrożono zasobnika, a zatem interfejs sieciowy kontenera jest pusty.

Krok 4: Wdróż sieć kapsuły za pośrednictwem węzła głównego

Sieć kapsuły jest medium komunikacji między węzłami sieci. W tym samouczku wdrażamy sieć flanelową w naszym klastrze za pomocą następującego polecenia:

$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Użyj następującego polecenia, aby wyświetlić stan sieci:

$ kubectl get pods --all-namespaces

Teraz, gdy zobaczysz status węzłów, zobaczysz, że węzeł główny jest gotowy:

$ sudo kubectl get nodes

Krok 5: Dodaj węzeł podrzędny do sieci, aby utworzyć klaster

W węźle podrzędnym uruchom następujące polecenie wygenerowane podczas inicjowania Kubernetes w węźle głównym:

$ sudo kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

Teraz, gdy uruchomisz następującą komendę w węźle głównym, potwierdzi, że w twoim systemie działają dwa węzły, węzeł główny i węzły serwera.

$ sudo kubectl get nodes

To pokazuje, że klaster dwuwęzłowy jest teraz uruchomiony i działa za pośrednictwem systemu zarządzania kontenerami Kubernetes.

W tym artykule wyjaśniliśmy instalację systemu zarządzania kontenerami Kubernetes na dwóch węzłach Ubuntu. Następnie utworzyliśmy prosty dwuwęzłowy klaster i wdrożyliśmy na nim Kubernetes. Możesz teraz wdrożyć i korzystać z dowolnej usługi, takiej jak serwer Nginx lub kontener Apache, aby korzystać z tej sieci klastrowej.

Komentarze