Czym jest Kubernetes: podstawowe pojęcia i komponenty

Czym jest Kubernetes: podstawowe pojęcia i komponenty

Źródło: Google, Inc., domena publiczna, Wikimedia Commons

Pody

Pod to najmniejsza jednostka wdrożeniowa w Kubernetesie, obejmująca jeden lub więcej kontenerów uruchamianych razem, współdzielących tę samą przestrzeń sieciową i te same wolumeny danych. W praktyce pojedynczy pod zawiera zwykle jeden główny kontener aplikacji, choć w niektórych przypadkach towarzyszą mu dodatkowe kontenery pomocnicze (tzw. sidecar).

Węzły i klastry

Węzeł (node) to pojedyncza maszyna — fizyczna lub wirtualna — na której uruchamiane są pody. Zbiór węzłów zarządzanych wspólnie przez Kubernetesa nazywany jest klastrem. Klaster składa się z węzłów roboczych, na których faktycznie działają aplikacje, oraz węzłów płaszczyzny sterowania (control plane), odpowiedzialnych za podejmowanie decyzji dotyczących rozmieszczenia podów.

Kontrolery

Kontrolery to komponenty Kubernetesa odpowiedzialne za utrzymywanie pożądanego stanu klastra — na przykład zapewnienie, że określona liczba replik danej aplikacji jest zawsze uruchomiona. Jeśli pod ulegnie awarii, odpowiedni kontroler automatycznie uruchomi nowy pod w jego miejsce. Mechanizmy skalowania oparte na kontrolerach opisano szerzej w artykule Skalowanie aplikacji kontenerowych i równoważenie obciążenia.

Do najczęściej stosowanych typów kontrolerów należą Deployment, odpowiedzialny za zarządzanie wersjami aplikacji bezstanowych, oraz StatefulSet, stosowany w przypadku aplikacji wymagających trwałej tożsamości i przechowywania stanu.

Czy Kubernetes zastępuje Dockera?

Nie, Kubernetes i Docker pełnią różne funkcje — Docker odpowiada za tworzenie i uruchamianie pojedynczych kontenerów, natomiast Kubernetes zarządza rozmieszczeniem i skalowaniem wielu kontenerów na wielu maszynach.

Czy każda aplikacja wymaga Kubernetesa?

Nie, złożoność Kubernetesa jest uzasadniona przede wszystkim w przypadku aplikacji o dużej skali lub wymagających częstych, zautomatyzowanych wdrożeń. Mniejsze aplikacje mogą działać efektywnie na prostszej infrastrukturze.