Kontynuując ostatni wpis o instalacji RancherOS dzisiaj zajmiemy się tworzeniem klastra w oparciu o oprogramowanie Rancher.
Rancher to system orkiestracji i zarządzania hostami Dockerowymi umożliwiający łatwe tworzenie usług składających się z wielu kontenerów uruchamianych na wielu hostach Dockerowych.
W skład oprogramowania wchodzą:
- Panel webowy – centrum sterowania, w którym definiujemy usługi, zarządzamy instancjami usług (konkretne kontenery), zarządzamy hostami oraz monitorujemy całą infrastrukturę.
- Agenty – specjalne kontenery działające na poszczególnych hostach w trybie uprzywilejowanym, a więc z dostępem do API Dockera na danym hoście – dzięki temu agent może sterować cyklem życia kontenerów na danej instancji Dockera
- Overlay network – nie będę tego nawet próbował przetłumaczyć ;) – pokrótce chodzi o to, że Rancher na każdym hoście odpala specjalny kontener oferujący bezpieczną łączność (IPSec) z kontenerami na innych hostach. Dzięki temu możemy tworzyć dowolne kompozycje kontenerów i uniezależnić je od hosta na którym działają, przy jednoczesnym zapewnieniu izolacji pomiędzy usługami.
- Usługi load balancera – wprost z panelu Ranchera możemy zdefiniować load balancery (oparte na haproxy) wraz z terminacją SSL (Rancher oferuje centralne zarządzanie certyfikatami SSL).
- Narzędzie Rancher Compose – pozwalające na zdefiniowanie całego stacka usług i jego deployment z poziomu wiersza poleceń.
Więcej o samych koncepcjach Ranchera być może opiszę w kolejnych wpisach, a na tę chwilę zachęcam do zapoznania się z oficjalną dokumentacją.
Przejdźmy do rzeczy, czyli do instalacji klastra Ranchera.
Instalacja hostów
Na początek należy zainstalować kilka hostów (choć do celów testowych można wszystko zrealizować na jednym), na których uruchomimy po pierwsze oprogramowanie zarządzające Rancher, a po drugie – właściwe usługi w kontenerach dockerowych.
Rancher pozwala na użycie dowolnego systemu z zainstalowanym Dockerem, a więc możemy go podłączyć do praktycznie każdego linuxa, czy to ogólnego przeznaczenia (jak Debian, Ubuntu) czy też przeznaczonego do uruchamiania kontenerów – jak np. CoreOS lub – wspomniany w ostatnim wpisie – RancherOS.
Po zainstalowaniu pożądanej liczby hostów przechodzimy do instalacji oprogramowania zarządzającego.
Instalacja oprogramowania zarządzającego Rancher
Instalacja jest bardzo prosta, gdyż sprowadza się do uruchomienia na jednym z hostów (najlepiej dedykowanym pod kontenery zarządzające) kontenera z obrazu rancher/server wraz z wystawieniem publicznie portu:
docker run -d --name Rancher --restart=always -p 8080:8080 rancher/server
Uruchomienie tego kontenera trwa do kilku minut. Po chwili, pod adresem IP hosta, na porcie 8080 dostępny będzie panel administracyjny Ranchera:
Instalacja agentów
Instalacja agentów jest równie prosta:
- W panelu administracyjnym przechodzimy do sekcji Infrastructure a następnie do Hosts.
- Klikamy na Add Host i – w naszym przypadku – wybieramy Custom.
- Postępujemy wg instrukcji, w szczególności wykonujemy podane polecenie na hoście z Dockerem.
- Po chwili host pojawi się w sekcji Hosts (tutaj zrzut z mojego laba):
Procedurę powtarzamy dla wszystkich hostów, które chcemy podłączyć. Po wykonaniu powyższej procedury mamy gotowy do pracy klaster Ranchera.
W następnych wpisach poruszę tematykę deploymentu usług oraz konfiguracji stacków – czyli swoistych grup kontenerów składających się na daną aplikację. Zapraszam wkrótce!
Dodaj komentarz