‫Zanim rozszerzymy nasze usługi, aby zacząć działać przez kilka węzłów i wszystkie usługi rozmawiające ze
‫sobą, przejrzyjmy kilka nowych koncepcji, które Swarm przynosi do stołu.
‫Pierwszym z nich jest nowy sterownik sieciowy o nazwie Overlay, który po prostu tworzy sieć
‫taką, jak
‫przy tworzeniu jej tworzenia, tworzenie sieci dokerów i nakładanie nakładki --driver.
‫To, jak to jest, to tworzenie sieci szerokopasmowej typu Swarm, w której kontenery na różnych hostach w tej
‫samej sieci wirtualnej mają dostęp do siebie nawzajem jak w sieci VLAN.
‫Dotyczy to wyłącznie komunikacji wewnątrzrodzinnej.
‫Sterownik nakładki nie odtwarza ogromnej ilości ruchu przychodzącego do wnętrza, ponieważ stara
‫się uzyskać całościowy widok roju sieci, aby nie zakłócać ustawień sieciowych
‫poszczególnych węzłów.
‫Możesz także włączyć pełne szyfrowanie sieci za pomocą IPiece SEC, gdzie faktycznie skonfiguruje tunele IPSec
‫pomiędzy wszystkimi różnymi węzłami twojego roju.
‫Ale domyślnie jest to wyłączne z powodów związanych z wydajnością.
‫Tworząc swoje usługi, możesz dodać je do żadnych sieci nakładkowych lub jednej lub więcej sieci nakładkowych.
‫To naprawdę zależy od projektu twojej aplikacji.
‫Wiesz, wiele tradycyjnych projektów miałoby bazy danych w sieci wewnętrznej i serwerach
‫sieci Web w sieci frontendowej. Wtedy może będziesz miał API między tymi dwoma, które będą w obu sieciach,
‫lub coś w tym stylu.
‫I możesz to zrobić w Swarm.
‫Zobaczmy to w akcji. Chcę tylko pokazać, jak by
‫to było, gdybyśmy wdrożyli przykład Drupala z poprzedniego zadania z bazą Postgres, jako usługi, a następnie utworzyli sieć
‫nakładkową, aby mogli ze sobą rozmawiać.
‫Najpierw musimy stworzyć sieć, więc stwórz sieć doków, a to nie zmieniło się w przypadku
‫Swarm, poza tym, że zamierzamy użyć nowego sterownika.
‫Mam zamiar nazwać to mydrupal.
‫DOBRZE.
‫Tak, mam zamiar zrobić sieć dokerów ls, a zobaczysz, że mam nową nakładkę. Wchodzący jeden jest tam domyślnie.
‫Zobaczysz także nowy, ponieważ rój, który jest faktycznie siecią wychodzącą, z którą nie będziemy musieli
‫mieszać.
‫Stwórzmy więc naszą usługę Postgres ... usługa dokowania utwórz nazwę ... nazwijmy to siecią psql.
‫Podłączymy go do sieci mydrupal.
‫W nazwach sieci jest rzeczywiście uzupełnianie tabulatorów.
‫Następnie pamiętaj, że muszę dodać tę zmienną środowiskową dla hasła PostgreSQL.
‫Więc możemy połączyć się z nim później.
‫Następnie użyjemy obrazu Postgres. Wygląda dobrze.
‫Zauważysz tutaj, że nie pobieramy całego obrazu i wszystkiego, ponieważ usług nie można uruchomić na pierwszym planie,
‫ponieważ muszą one przejść przez programator i harmonogram. Możemy więc wykonać usługę
‫dokowania ls i widzimy, że jeden z nich działa.
‫Jeśli wykonamy usługę ps psl, możemy zobaczyć, że działa ona w węźle 1.
‫Mogę więc zrobić dziennik kontenera dock psql, a następnie mogę zobaczyć logi tego.
‫Tak. Wygląda na to, że działa.
‫W porządku.
‫Stwórzmy naszą drugą usługę, więc pójdę dalej
‫i nazwać ją Drupalem.
‫Musimy też dołączyć do tej samej sieci. Następnie chcemy opublikować port 80:80, tak jak zrobiliśmy
‫to za pomocą polecenia uruchomienia dockera. I użyjemy obrazu Drupala.
‫DOBRZE.
‫Widzimy, że zaczyna się tam.
‫Jest pewna sztuczka. W rzeczywistości możesz używać polecenia watch w Linuksie do oglądania. Zasadniczo ...
‫to, co robi, to powtarzanie polecenia w kółko.
‫Jest instalowany domyślnie w systemie Ubuntu.
‫Jeśli po prostu wykonasz zegarek przed usługą dokowania, domyślnie będzie on działał co dwie sekundy,
‫aż ... Ach, widzisz?
‫Teraz mamy jeden po drugim.
‫W porządku, a potem po prostu kontroluję c z tego. Możemy wykonać usługę dokowania
‫ps drupal i zobaczyć, że drupal faktycznie działa na węźle 2.
‫Mamy bazę danych działającą w węźle 1.
‫Mamy stronę Drupal działającą na Węzłach 2.
‫Jak więc wiedzą, jak ze sobą rozmawiać?
‫Cóż, używając nazw usług.
‫Jeśli wkleję jeden z adresów IP, powinien pojawić się na instalacji Drupala. A jeśli powiem to w bazie danych,
‫nazwa bazy danych, zrobimy to ponownie,
‫postgres, moje hasło.
‫Dla hosta, tak jak wtedy, gdy byliśmy z Compose, stworzyliśmy nazwy usług w pliku tworzenia, tutaj
‫użyjemy nazwy usługi, którą utworzyliśmy dla serwera bazy danych. Tak, to był psql.
‫Ten ekran zasadniczo mówi nam, że jest w stanie rozmawiać z bazą danych poprzez węzły
‫i skonfigurować system.
‫To świetna rzecz w Overlayu, to naprawdę działa jak wszystko w tej samej podsieci.
‫W porządku.
‫Więc już tego nie potrzebujemy.
‫Zakończę ten przykład bardzo szybko, żeby pokazać wam następną fajną rzecz o Roju. DOBRZE.
‫Teraz ta strona działa. Ale mam trzy węzły, więc skąd mam wiedzieć, który węzeł będzie
‫włączony i który port będę potrzebował, aby upewnić się, że mój DNS wskazuje, kiedy tworzę tę nazwę witryny?
‫W moim przypadku mam trzy adresy IP i mogę skopiować wszystkie trzy z nich i umieścić wszystkie trzy z
‫tych adresów
‫IP w ... oops ... Mam tam niewłaściwego.
‫Tak więc, jeśli widzisz, wygląda na to, że strona działa na wszystkich trzech węzłach, ponieważ patrzę na wszystkie
‫trzy adresy IP.
‫Ale jeśli przejdę tutaj i wykonam tę usługę ps drupal, wiem, że to tylko działający węzeł 2.
‫Mogę nawet wykonać inspekcję usługi dokowania i zobaczyć, że rzeczywiście ma tylko jeden adres IP w tej sieci
‫nakładki ... tutaj.
‫Dlaczego reaguje na wszystkie trzy hosty?
‫To prowadzi nas do naszej kolejnej, nowej funkcji.