Jak zainstalować klaster Kubernetes na Centos 7

Jak zainstalować klaster Kubernetes na Centos 7

Przekazane przez Google do społeczności Opensource, Kubernetes stał się teraz wybranym narzędziem do zarządzania kontenerami. Może zarządzać i organizować nie tylko docker Runtimes, ale także kontenery i Rkt Runtimes.

Typowy Kubernetes Klaster miałby na ogół węzeł główny i kilka nod pracowniczych lub stworów. Nodami robotniczymi są następnie zarządzane z węzła głównego, zapewniając w ten sposób klaster z punktu centralnego.

Ważne jest również, aby wspomnieć, że możesz również wdrożyć klaster Kubernetes w jednym węźle, który jest ogólnie zalecany dla bardzo lekkich, nieporozących obciążeń. W tym celu możesz użyć Minikube, które jest narzędziem, które uruchamia klaster Kubernetes z jednym węzłem w maszynie wirtualnej w twoim węźle.

Zalecane odczyt: Jak zainstalować klaster Kubernetes na Centos 8

W tym samouczku przejdziemy do wielu węzłów Kubernetes Instalacja klastra na Centos 7 Linux. Ten samouczek jest oparty na linii poleceń, więc będziesz potrzebować dostępu do okna terminala.

Wymagania wstępne

  1. Wiele serwerów działa Centos 7 (1 węzeł główny, 2 węzły robotnicze). Zaleca się, aby twój Węzeł główny mają co najmniej 2 procesory, choć nie jest to ścisłe wymóg.
  2. Łączność internetowa na wszystkich twoich węzłach. Będziemy pobierać Kubernetes I doker pakiety z repozytorium. Równie musisz upewnić się, że menedżer pakietu Yum jest domyślnie zainstalowany i może zdalnie pobierać pakiety.
  3. Będziesz także potrzebował dostępu do konta z uprawnieniami sudo lub root. W tym samouczku będę korzystać z mojego konta głównego.

Nasz 3-węzłowy klaster będzie wyglądał tak:

Kubernetes Schemat klastra

Instalacja klastra Kubernetes w węźle głównym

Dla Kubernetes Do pracy potrzebujesz silnika kontenerskiego. Do tej instalacji będziemy używać doker ponieważ jest najbardziej popularny.

Następujące kroki będą działać na Węzeł mistrzowski.

Krok 1: Przygotuj nazwę hosta, zaporę ogniową i selinux

W swoim węźle głównym ustaw nazwę hosta, a jeśli nie masz serwera DNS, zaktualizuj również swój /etc/hosts plik.

# hostnamectl set-hostname-węzeł master # cat <> /etc /hosts 10.128.0.27 węzeł mistrzowski 10.128.0.29 Node-1 Worker-Node-1 10.128.0.30 Node-2-Node-2-Node-2 EOF 

Możesz ping Node-1 pracownika-1 I Node pracownicze-2 Aby sprawdzić, czy zaktualizowany plik hosta jest w porządku za pomocą polecenia ping.

# ping 10.128.0.29 # ping 10.128.0.30 

Następnie wyłącz Selinux i zaktualizuj zasady zapory.

# setenForce 0 # sed -i - -follow -symlinks 's/selinux = Enforcing/selinux = disabled/g'/etc/sysconfig/selinux # reboot 

Ustaw następujące zasady zapory na portach. Upewnij się, że każde polecenie Firewall-CMD zwraca sukces.

# Firewall-CMD --PerManent --add-port = 6443/tcp # Firewall-CMD --PerManent --add-Port = 2379-2380/TCP # Firewalll-CMD --Permanent --add-Port = 10250/TCP # Firewall-CMD --Permanent --add-Port = 10251/TCP # Firewall-CMD --PerManent --add-Port = 10252/TCP # Firewall-CMD --Permanent --add-Port = 10255/TCP # Firewallll -cmd -reload # modprobe br_netfilter # echo '1'>/proc/sys/net/most/most-nf-call-eptables 

Krok 2: Skonfiguruj repozytorium Kubernetes

Będziesz musiał dodać Kubernetes repozytoria ręcznie, ponieważ nie są instalowane domyślnie Centos 7.

kot < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF 

Krok 3: Zainstaluj Kubeadm i Docker

Dzięki repozytorium pakietu możesz iść naprzód i zainstalować Kubeadm I doker pakiety.

# Yum Instal Kubeadm Docker -y 

Gdy instalacja zakończy się pomyślnie, włącz i rozpocznij obie usługi.

# Systemctl Włącz Kubelet # Systemctl Start Kubelet # Systemctl Włącz Docker # Systemctl Start Docker 

Krok 4: Zainicjuj Kubernetes Master i skonfiguruj domyślny użytkownik

Teraz jesteśmy gotowi zainicjować Kubernetes Master, ale wcześniej musisz wyłączyć zamian, aby uruchomić „Kubeadm Init" Komenda.

# Swapoff -a 

Inicjalizacja Kubernetes Master to w pełni zautomatyzowany proces zarządzany przez „Kubeadm Init„Polecenie, które będziesz uruchomić.

# Kubeadm Init 
Zainicjuj Kubernetes Master

Możesz skopiować ostatni wiersz i zapisać ją gdzieś, ponieważ będziesz musiał uruchomić ją na Węzły robotnicze.

Kubeadm dołącz 10.128.0.27: 6443 -Token NU06LU.XRSUX0SS0IXTNMS5 \--DISCOVERY-TOKLE-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Wskazówka: Czasami to polecenie może narzekać na argumenty (Args) Przeszedł, więc edytuj go, aby uniknąć błędów. Więc usuniesz „\” Charakter towarzyszący --znak a twoje ostateczne polecenie będzie wyglądało tak.

Kubeadm dołącz 10.128.0.27: 6443 -Token NU06LU.XRSUX0SS0IXTNMS5--DISCOVERY-TOWL-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC8231468425CD41 

Po zainicjowaniu Kubernetes Z powodzeniem musisz pozwolić użytkownikowi na rozpoczęcie korzystania z klastra. W naszym przypadku chcemy uruchomić tę instalację jako źródło Użytkownik, dlatego będziemy uruchomić te polecenia jako root. Możesz zmienić na użytkownika obsługiwanego przez sudo i uruchom poniżej za pomocą sudo.

Używać źródło, uruchomić:

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

Użyć Sudo włączył użytkownika, uruchomić:

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

Teraz sprawdź, czy Kubectl Polecenie jest aktywowane.

# kubectl zdobądź węzły 
Sprawdź status węzłów

W tym momencie zauważysz również, że status węzeł mistrzowski Jest 'Nie gotowy'. To dlatego, że jeszcze nie wdrożyliśmy Sieć Pod do klastra.

Sieć Pod to sieć nakładki dla klastra, która jest wdrażana na niniejszej sieci węzłów. Został zaprojektowany, aby umożliwić łączność w całym kapsule.

Krok 5: Skonfiguruj swoją sieć POD

Wdrożenie klastra sieci to wysoce elastyczny proces w zależności od potrzeb i dostępnych jest wiele opcji. Ponieważ chcemy, aby nasza instalacja była tak prosta, jak to możliwe, będziemy używać Weavenet wtyczka, która nie wymaga żadnej konfiguracji ani dodatkowego kodu i zawiera jeden adres IP na POD, co jest dla nas świetne. Jeśli chcesz zobaczyć więcej opcji, sprawdź tutaj.

Te polecenia będą ważne, aby uzyskać konfigurację sieci POD.

# Eksport kubever = $ (wersja kubectl | base64 | tr -d '\ n') # kubectl Apply -f "https: // chmur.splot.Works/k8s/net?K8s-wersja = $ kubever " 
Sieć konfiguracji POD

Teraz, jeśli sprawdzisz status swojego węzeł mistrzowski, powinno być 'Gotowy'.

# kubectl zdobądź węzły 
Sprawdź status węzłów głównych

Następnie dodajemy Węzły robotnicze do klastra.

Konfigurowanie węzłów pracowniczych, aby dołączyć do klastra Kubernetes

Następujące kroki będą działać na Węzły robotnicze. Te kroki powinny być uruchamiane na każdym Węzeł roboczy Podczas dołączania do Kubernetes grupa.

Krok 1: Przygotuj nazwę hosta, zaporę ogniową i selinux

Na Twoim Node-1 pracownika-1 I Node pracownicze-2, Ustaw nazwę hosta, a jeśli nie masz serwera DNS, a następnie zaktualizuj węzły główne i pracowników /etc/hosts plik.

# hostnamectl set-hostname 'node-1' # cat <> /etc /hosts 10.128.0.27 węzeł mistrzowski 10.128.0.29 Node-1 Worker-Node-1 10.128.0.30 Node-2-Node-2-Node-2 EOF 

Możesz ping węzeł mistrzowski Aby sprawdzić, czy zaktualizowany plik hosta jest w porządku.

Następnie wyłącz Selinux i zaktualizuj zasady zapory.

um 

Ustaw następujące zasady zapory na portach. Upewnij się, że wszystkie polecenia Firewall-CMD, powrót sukcesu.

# Firewall-CMD --PerManent --add-Port = 6783/TCP # Firewall-CMD --PerManent --add-Port = 10250/TCP # Firewall-CMD --Permanent --add-Port = 10255/TCP # Firewallll. -CMD --Permanent --add-port = 30000-32767/tcp # firewall-cmd--reload # echo '1'>/proc/net/most/most-nf-call-call-eptables 

Krok 2: Skonfiguruj repozytorium Kubernetes

Będziesz musiał dodać Kubernetes repozytoria ręcznie, ponieważ nie są wstępnie zainstalowane Centos 7.

kot < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF 

Krok 3: Zainstaluj Kubeadm i Docker

Dzięki repozytorium pakietu możesz iść naprzód i zainstalować Kubeadm I doker pakiety.

# Yum Instal Kubeadm Docker -y 

Rozpocznij i włącz obie usługi.

# Systemctl Włącz Docker # Systemctl Start Docker # Systemctl Włącz Kubelet # Systemctl Start Kubelet 

Krok 4: Dołącz do węzła pracownika do klastra Kubernetes

Teraz potrzebujemy tego tokena Kubeadm Init wygenerował, aby dołączyć do klastra. Możesz skopiować i wkleić do swojego Węzeł 1 I Node-2 Jeśli gdzieś to skopiowałeś.

# kubeadm dołącz do 10.128.0.27: 6443 -Token NU06LU.XRSUX0SS0IXTNMS5--DISCOVERY-TOWL-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC8231468425CD41 
Dołącz węzły do ​​klastra Kubernets

Jak sugerowano na ostatniej linii, wróć do swojego węzeł mistrzowski i sprawdź, czy Węzeł roboczy-1 I Węzeł pracowniczy-2 dołączyli do klastra za pomocą następującego polecenia.

# kubectl zdobądź węzły 
Sprawdź status wszystkich węzłów w klastrze Kubernetes

Jeśli wszystkie kroki działają pomyślnie, powinieneś zobaczyć Węzeł 1 I Node-2 w stanie gotowym na węzeł mistrzowski.

Zalecane odczyt: Jak wdrożyć Nginx na klastrze Kubernetes

W tym momencie pomyślnie zakończyliśmy instalację Kubernetes klaster Centos 7 i pomyślnie pokonaliśmy dwa Nodowniki pracownicze. Możesz teraz zacząć tworzyć swoje kapsuły i wdrażać swoje usługi.