Serwer cloud dla Docker Swarm w Europie
Docker Swarm to wbudowany tryb klastrowania dla Docker Engine. Jest prostszy niz Kubernetes, dziala ze standardowymi plikami docker-compose po drobnych zmianach i jest praktyczna sciezka dla zespolow, ktore juz uzywaja Dockera, ale chca uruchamiac obciazenia na wielu hostach.
Jesli Twoj zespol przechodzi z docker-compose na jednym serwerze do konfiguracji wielu hostow, Docker Swarm warto ocenic przed zobowiazaniem sie do zlozonosci Kubernetes.
Dlaczego hosting w UE ma znaczenie dla Docker Swarm
Docker Swarm rozdziela kontenery miedzy wezlami menedzera i pracownika przy uzyciu sieci nakldakowej. Latencja miedzy wezlami wplywa na szybkosc komunikacji serwisow i niezawodnosc protokolu konsensusu Raft dla synchronizacji wezlow menedzera.
Umieszczenie wszystkich wezlow Swarm w tym samym centrum danych w UE daje latencje miedzy wezlami ponizej milisekundy. Instancje cloud DCXV w tym samym centrum danych dzielac prywatna siec.
Zgodnosc z RODO to kolejny powod hostingu w UE. Jesli Twoje serwisy Swarm przetwarzaja dane osobowe europejskich uzytkownikow, dane te musza pozostawac w jurysdykcji UE.
Minimalne wymagania serwera
Docker Swarm jest lzejszy niz Kubernetes.
Dla wezlow menedzera:
- RAM: minimum 2 GB
- CPU: minimum 1 rdzen (zalecane 2 rdzenie)
- Dysk: 20 GB SSD
- Docker Engine: wersja 24 lub nowsza
Dla wezlow roboczych:
- RAM: minimum 2 GB na wezel
- CPU: minimum 1-2 rdzenie na wezel
- Dysk: 20 GB SSD na wezel
Dla tolerancji bledow uzyj 3 wezlow menedzera i tylu pracownikow, ile wymaga Twoje obciazenie.
Zalecana konfiguracja DCXV
Instancje cloud DCXV na https://dcxv.com/data-center#cloud zaczynaja sie od 15 EUR/miesiac. Minimalna konfiguracja Docker Swarm z 3 menedzerami i 2 pracownikami dziala dobrze na pieciu instancjach 2 GB RAM / 2 vCPU.
Wszystkie instancje cloud DCXV w tym samym centrum danych sa polaczone przez prywatna siec o niskiej latencji. Wsparcie inzynierow 24/7 jest wlaczone bez dodatkowych kosztow.
Dla wiekszych flot dedykowane serwery DCXV zaczynaja sie od 49 EUR/miesiac.
Przewodnik konfiguracji
Inicjalizacja klastra Docker Swarm na instancjach DCXV:
# Na pierwszym wezle menedzera: zainicjuj swarm
docker swarm init --advertise-addr <manager-private-ip>
# Pobierz token dolaczenia pracownika
docker swarm join-token worker
# Pobierz token dolaczenia menedzera
docker swarm join-token manager
# Na kazdym dodatkowym wezle menedzera: dolacz jako menedzer
docker swarm join --token <manager-token> <first-manager-ip>:2377
# Na kazdym wezle roboczym: dolacz do swarm
docker swarm join --token <worker-token> <first-manager-ip>:2377 Oczekiwana wydajnosc
Na 5-wezlowym klastrze Docker Swarm z instancjami DCXV 2 GB / 2 vCPU:
- Czas uruchamiania serwisu 5-15 sekund dla typowych obrazow kontenerow
- Przepustowosc sieci nakladkowej 500 Mbps do 2 Gbps miedzy wezlami
- Aktualizacje konsensusu Raft propaguja sie w mniej niz 50 ms
- Rolling updates bez przestojow dla serwisow z 2 lub wieccej replikami
- Klaster tej wielkosci obsluguje 50-200 rownoczesnych serwisow




