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.