Podstawy architektury Kubernetesa

Control Plane

zarządca klastra, składający się między innymi z controller managera (odpowiada za utrzymanie kalstra w odpowiednim stanie), schedulera (rozlokowuje pody na węzłach) i etcd (baza danych klucz wartość), cloud controller manager (odpowiedzialny za komunikację z dostawcą chmury). Wszystkie elementy systemu komunikują się ze sobą za pomocą REST API. 

Node

Węzły (node) to maszyny wirtualne lub fizyczne, na których uruchamiane są aplikacje (Pody) w kontenerach.

Pody

to podstawowa jednostka w klastrze Kubernetes, reprezentuje instancję, która utrzymuje kontenery aplikacji. Składa się z jednego lub większej liczby kontenerów oraz wykorzystywanych przez nie zasobów (współdzielona pamięć dyskowa, wspólny adres IP, dodatkowe informacje niezbędne do uruchomienia kontenera). Kubernetes zarządza właśnie podami, a nie bezpośrednio kontenerami. Pody w klastrze Kubernetes mogą być używane na dwa sposoby: uruchamiać pojedynczy kontener lub łączyć wiele kontenerów w wolumin, którym można zarządzać.

Kubelet

agent, który działa na każdym węźle klastra i uruchamia kontenery na podach.

Etcd

to magazyn wszystkich danych Kubernetesa, tzw. Key-value store (czyli swoista baza danych), przechowuje konfigurację klastra oraz jego aktualny stan.

Kubectl

to narzędzie wiersza poleceń, które umożliwia wykonywanie operacji w klastrach Kubernetes. Za pomocą kubectl można wdrażać aplikacje, sprawdzać zasoby klastra i zarządzać nimi oraz wyświetlać dzienniki.