Skip to content

Node

Podstawowymi elementami Kubernetes są węzły. To na nich uruchamiane są wszystkie usługi, procesy. Do zarządzania całym klastrem wykorzystywany jest Master Node. Może ich być wiele w klastrze. Za wykonywanie obliczeń odpowiedzialne są Worker Node'y.

Master vs Worker Node

Na nim jest uruchomiony kube-apiserver. To on się łączy z Worker Node'ami, a dokładnie z procesami kubelet.

kubernetes_architecture

API Server

Można go traktować jako frontend dla Kubernetesa. Aby mieć interakcję z klastrem, np. Web GUI, kubectl i innymi narzędziami do zarządzania klastrem wykorzystywany jest API Server do tego.

etcd

Rozproszony rejestr (można traktować jako baza danych) klucz-wartość. Służy ona do przechowywania konfiguracji, wszystkich ustawień klastra Kubernetes.

Scheduler

Odpowiada za rozrzucanie loadu pomiędzy wszystkimi węzłami klastra. Otrzymuje informacje o nowo utworzonych kontenerach (podach) i rozrzuca je po klastrze.

Controller

Zapewnia stałą liczbę podów w momencie awarii, lub przy autoskalowaniu, ustaloną przez administratora. Można powiedzieć, że jest mózgiem klastra Kubernetes.

Container Runtime

Jest to niższa warstwa w hierarchii, w architekturze kontenerów, która definiuje sposób uruchamiania kontenerów, jaki rodzaj ich jest wdrażany. To właśnie ta warstwa komunikuje się z jądrem systemu operacyjnego i tworzy kontenery w systemie, jak są zdefiniowane przez wyższe warstwy Kubernetes.

Aktualne w Kubernetes używany jest container runtime containerd, kiedyś był to Docker.

Kubelet

Agent odpowiedzialny za sprawdzanie, czy każdy kontener działa na węźle, tak jak jest to wymagane i porządane przez administratora. Monitoruje ich działanie.