Bare metal dla kontenerów

Kubernetes na bare metalu który prowadzisz sam

Kubernetes na bare metalu oznacza, że każdy węzeł w Twoim klastrze to cały dedykowany serwer, bez hipernadzorcy między Twoimi podami a sprzętem. Primcast wynajmuje te serwery w rozliczeniu miesięcznym z dostępem root i nielimitowanym portem, więc możesz zainstalować Dockera, k3s, RKE2 lub kubeadm i prowadzić klaster po swojemu.

Serwer, który jest już w szafie, zostaje przekazany około 30 minut po zatwierdzeniu zamówienia. Bez umowy: płacisz za jeden miesiąc na raz.

01Dlaczego bare metal

Dlaczego Twoje kontenery działają lepiej na własnym serwerze

Kontenery już współdzielą jedno jądro, więc maszyna wirtualna pod spodem dodaje drugą warstwę, która nic Ci nie daje. Na serwerze dedykowanym Twoje obciążenia dostają procesor, pamięć, dyski i kartę sieciową bezpośrednio.

ABez warstwy wirtualnej

Nic między Twoimi podami a sprzętem

Żaden hipernadzorca nie zabiera części procesora ani nie stoi na ścieżce dysku i sieci. To, co zmierzysz na węźle, dostają Twoje kontenery, dzięki czemu łatwiej ustawić żądania i limity.

BJeden najemca

Żaden sąsiad nie spowalnia Twoich węzłów

Nikt inny niczego nie uruchamia na Twoim serwerze. Zajęty obcy nie zje kolejki dyskowej ani przepustowości pamięci, na które liczył Twój pod bazy danych, więc opóźnienia zostają tam, gdzie je ustawiłeś.

CStały rachunek

Ruch, którego nikt nie liczy

Każdy serwer ma nielimitowany port, który nie jest współdzielony, 1 Gbps lub 500 Mbps w zależności od łącza. Pobieranie obrazów, replikacja między węzłami i ruch do Twoich użytkowników nigdy nie pojawiają się jako opłata za gigabajt.

DPełna kontrola

Root, przycisk ponownej instalacji i droga powrotna

Dostajesz root na każdym serwerze i możesz ponownie zainstalować system z panelu sterowania bez opłat. Serwery rack i blade mają też konsolę w przeglądarce z kontrolą zasilania, na dzień, w którym zmiana sieci odetnie Cię od dostępu.

02Wybierz swoją ścieżkę

Docker na jednym serwerze dedykowanym czy Kubernetes na bare metalu?

Zacznij od zadania. Kilka usług na jednej maszynie potrzebuje Dockera i niczego więcej. Kilka maszyn, które mają się same naprawiać, potrzebuje Kubernetesa, a wtedy pytanie brzmi, kto zajmuje się warstwą sterującą.

Trzy sposoby uruchamiania kontenerów na serwerach Primcast
ŚcieżkaDobre dlaWarstwa sterującaDokąd przejść
Docker na serwerze dedykowanymKilka aplikacji z Docker Compose, runner budowania, kopia stagingowa produkcjiNiepotrzebnaDowolny serwer poniżej
Twój własny klaster KubernetesZespoły, które chcą wybrać dystrybucję, wtyczkę sieciową i daty aktualizacjiProwadzisz go sam, na własnych serwerachTa strona
Zarządzany KubernetesZespoły, które chcą kubectl i własnych workerów, bez zajmowania się etcdMy go prowadzimy; Twoje serwery są workeramiZarządzany Kubernetes

Potrzebujesz tylko jednej małej maszyny? Cloud VPS też uruchomi Dockera. Chcesz maszyny wirtualne i kontenery obok siebie na własnym sprzęcie? Zobacz serwery Proxmox.

03Dobór rozmiaru

Czego potrzebuje bare metalowy węzeł Kubernetes

Dokumentacja kubeadm wyznacza minimum: 2 GB pamięci na każdej maszynie i co najmniej 2 rdzenie procesora na węźle płaszczyzny sterowania. Każdy serwer dedykowany bez trudu to spełnia, więc dobierz rozmiar pod swoje obciążenia i zaplanuj trzy węzły płaszczyzny sterowania, jeśli klaster ma przetrwać utratę jednego z nich.

Minima i porty z dokumentacji Kubernetes
RolaMinimumPorty do otwarcia między węzłami
Płaszczyzna sterowania2 rdzenie, 2 GB pamięci6443, 2379-2380, 10250, 10257, 10259
Worker2 GB pamięci10250, 10256, 30000-32767
Każdy węzełUnikalna nazwa hosta, adres MAC i UUID produktuPełna łączność sieciowa z pozostałymi węzłami

Mały klaster, który działa

Jeden węzeł płaszczyzny sterowania i dwa workery wystarczą do nauki i uruchamiania środowiska staging. Umieść etcd na serwerach z dyskami SSD: jest wrażliwy na opóźnienia zapisu na dysku, a wolny dysk spowalnia każdą zmianę w klastrze.

Klaster, który przetrwa awarię serwera

Trzy węzły płaszczyzny sterowania utrzymują kworum etcd, gdy jeden z nich ulegnie awarii. Dodaj workery dla pojemności i umieść serwery GPU w tym samym klastrze do zadań inferencji lub kodowania, oddzielone od innych podów za pomocą etykiet i taintów.

04Konfiguracja

Twój własny klaster w jeden wieczór

Oto typowa kolejność pracy z kubeadm. k3s i RKE2 łączą kroki 2 i 3 w jeden skrypt instalacyjny, a reszta pozostaje bez zmian.

  1. 01

    Zamów serwery

    Wybierz serwery z poniższej listy i zaznacz aktualny obraz Ubuntu lub Debiana przy kasie. Serwery rackowe są dostępne po około 30 minutach od zatwierdzenia; serwer zbudowany według Twojej specyfikacji powstaje w 4 do 24 godzin, gdy części są na miejscu.

  2. 02

    Przygotuj każdy węzeł

    Zainstaluj środowisko uruchomieniowe kontenerów, takie jak containerd, utrzymuj zsynchronizowane zegary i wyłącz swap, chyba że skonfigurowałeś kubelet do pracy z nim. Następnie zainstaluj kubeadm, kubelet i kubectl z repozytorium pakietów Kubernetes.

  3. 03

    Uruchom płaszczyznę sterowania

    Wykonaj kubeadm init na pierwszym serwerze płaszczyzny sterowania, a następnie linię kubeadm join, którą wypisze, na każdym workerze. Twój kubeconfig znajduje się na tym pierwszym serwerze.

  4. 04

    Dodaj wtyczkę sieciową

    Pody nie mogą się komunikować, dopóki nie zainstalujesz wtyczki sieciowej. Cilium, Calico i Flannel to typowe wybory; Cilium i Calico egzekwują również NetworkPolicy.

  5. 05

    Zamknij drzwi

    Zezwól na porty z powyższej tabeli tylko z adresów Twoich własnych węzłów, a port API pozostaw otwarty wyłącznie dla osób zarządzających klastrem.

  6. 06

    Wpuść ruch

    Bare metal nie ma cloudowego load balancera, więc narzędzie takie jak MetalLB przydziela usługom typu LoadBalancer dodatkowe adresy IPv4 zamówione razem z serwerami. Kontroler ingress obsługuje wtedy Twoje strony na portach 80 i 443.

Potrzebujesz tylko Dockera? Zainstaluj Docker Engine z własnego repozytorium Dockera dla swojej dystrybucji, sprawdź go poleceniem docker run hello-world i uruchom swój stack za pomocą Docker Compose. To cała konfiguracja.

05Serwery

Serwery dedykowane dla Dockera i Kubernetesa

Każdy serwer poniżej może być hostem Dockera lub węzłem w samodzielnie zarządzanym klastrze Kubernetes. Ceny i specyfikacje pochodzą wprost z katalogu; otwórz wybrany serwer, aby zobaczyć jego opcje i złożyć zamówienie.

06Zanim złożysz zamówienie

Co otrzymujesz, a co pozostaje po Twojej stronie

Na tej ścieżce my zajmujemy się sprzętem i siecią, a Ty wszystkim od systemu operacyjnego w górę. Oto gdzie przebiega ta granica.

W zestawie z każdym serwerem

  • Cała maszyna, z dostępem root i bez nikogo innego na pokładzie
  • Nielimitowany port, który nie jest współdzielony, plus jeden adres IPv4 i jeden IPv6
  • Darmowe ponowne instalacje systemu operacyjnego z panelu sterowania
  • Konsola w przeglądarce i kontrola zasilania na serwerach rack i blade
  • Kredyty zgodnie z umową o poziomie usług, gdy sieć nie działa lub uszkodzona część nie zostanie wymieniona na czas

Dobrze wiedzieć

  • Na tej ścieżce nie instalujemy, nie aktualizujemy ani nie monitorujemy Twojego klastra. Jeśli tego potrzebujesz, zobacz zarządzany Kubernetes.
  • Żaden serwer nie jest sprzedawany z ochroną DDoS.
  • Większość serwerów cartridge ma kontrolę zasilania, ale nie ma konsoli, więc do płaszczyzny sterowania wybierz serwer rack lub blade.
  • Serwery ARM obsługują Dockera i Kubernetesa, ale tylko obrazy zbudowane dla arm64.

07Pytania

Pytania, które ludzie zadają o kontenerach na gołym metalu

01Czy Kubernetes jest szybszy na gołym metalu niż na maszynach wirtualnych?

Zazwyczaj tak, ponieważ nic nie stoi między Twoimi podami a sprzętem. Maszyna wirtualna dodaje hiperwizora w ścieżce procesora, dysku i sieci i często współdzieli hosta z innymi klientami. Na serwerze dedykowanym Twoje kontenery otrzymują całą maszynę, a ich wydajność nie zmienia się, gdy ktoś inny zwiększa obciążenie.

02Czy mogę uruchomić Dockera na serwerze dedykowanym?

Tak. Masz roota, więc instalujesz Docker Engine z repozytorium Dockera dla swojej dystrybucji i od razu uruchamiasz kontenery lub stos Docker Compose. Wiele osób zaczyna w ten sposób i dodaje Kubernetesa, gdy ma już więcej niż jeden serwer.

03Czy instalujecie i zarządzacie Kubernetesem za mnie?

Nie na serwerach z tej strony: sam wybierasz dystrybucję i prowadzisz klaster. Jeśli wolisz nie zajmować się płaszczyzną sterowania, nasz zarządzany Kubernetes prowadzi ją dla Ciebie w Nowym Jorku, a Twoje serwery dedykowane pozostają workerami, z rootem zachowanym na każdym z nich.

04Ile serwerów potrzebuję do klastra Kubernetes?

Jeden serwer może uruchomić klaster jednowęzłowy z k3s lub kubeadm, co wystarcza do prac rozwojowych. Aby klaster działał nadal po awarii maszyny, użyj trzech węzłów płaszczyzny sterowania, aby etcd zachował kworum, oraz tylu workerów, ile wymagają Twoje obciążenia.

05Jak działają usługi LoadBalancer na gołym metalu?

Nie ma chmurowego load balancera, który można wywołać, więc instalujesz go w klastrze. MetalLB to częsty wybór: przydziela każdej usłudze typu LoadBalancer jeden z dodatkowych adresów IPv4 zamówionych z serwerami i ogłasza go w sieci.

06Czy ruch między moimi węzłami lub do moich użytkowników jest mierzony?

Nie. Nic nie zlicza ruchu na serwerze dedykowanym. Każdy ma własny port, 1 Gbps lub 500 Mbps w zależności od linii, a pobieranie obrazów, replikacja i ruch użytkowników przechodzą przez niego za tę samą miesięczną cenę.

07Jak szybko mogę otrzymać serwery?

Serwer, który jest już w szafie, jest gotowy około 30 minut po zatwierdzeniu zamówienia, z wybranym systemem operacyjnym. Serwer zbudowany według Twojej specyfikacji zajmuje od 4 do 24 godzin, gdy mamy części. Samo zatwierdzenie, płatność i kontrola nadużyć, następuje najpierw i to ten etap bywa różny.

08Jaką pomoc otrzymam, gdy coś się zepsuje?

Nasz czat AI odpowiada w kilka sekund i może sprawdzić Twoje konto i serwery, a człowiek przejmuje rozmowę, gdy tylko poprosisz. Naprawiamy problemy ze sprzętem i siecią; pytania dotyczące wnętrza Twojego klastra należą do Ciebie, choć chętnie wskażemy Ci właściwy kierunek.

Zbuduj swój klaster na własnych serwerach

Wynajmuj serwery co miesiąc, zachowaj roota na każdym z nich i uruchamiaj Dockera lub Kubernetesa tak, jak chcesz. Bez umowy, bez zliczanego ruchu.