May 9, 2025

Master Node

 Master Node (ili Control Plane) je ključna komponenta u Kubernetes klasteru. On je mozak klastera i upravlja svim operacijama, kao što su raspoređivanje resursa, skaliranje aplikacija, praćenje stanja, i druge administrativne funkcije.


🧠 Šta Master Node radi?

Master Node je odgovoran za centralizovano upravljanje celokupnim Kubernetes klasterom. Sastoji se od nekoliko ključnih komponenti koje omogućavaju funkcionisanje i koordinaciju:

1. API Server (kube-apiserver):

  • API server je glavna tačka interakcije sa Kubernetes klasterom.

  • Svi zahtevi (kao što su komande kubectl ili automatske interakcije sa klasterom) idu kroz API server.

  • API server obrađuje ove zahteve, usmerava ih prema odgovarajućim Kubernetes komponentama, i vraća rezultate korisnicima.

2. Controller Manager (kube-controller-manager):

  • Kontroler menadžer upravlja kontrolerima koji prate stanje klastera i prate promene u sistemu.

  • Na primer, kada se desi nešto neočekivano, kao što je nestanak Pod-a, kontroler će pokušati da ga ponovo pokrene (npr. za Deployment, ReplicaSet).

  • Takođe, prati resurse poput Node-ova, Pod-ova, Service-ova i Deployment-a.

3. Scheduler (kube-scheduler):

  • Scheduler je odgovoran za raspoređivanje Pod-ova na Worker Node-ove.

  • On prati dostupne resurse na Node-ovima (CPU, RAM, itd.) i odlučuje na kojem Node-u će se pokrenuti određeni Pod.

  • Scheduler takođe uzima u obzir faktore kao što su affinity, taints, tolerations, itd.

4. etcd:

  • etcd je distribuirani key-value store koji čuva sve podatke o stanju klastera (kao što su podaci o Podovima, Service-ima, Node-ovima, konfiguracijama, itd.).

  • To je osnova za pohranu podataka u Kubernetesu.

  • Ako se podaci u klasteru promene (npr. ako se doda novi Pod ili obriše neki servis), etcd se ažurira.

5. Cloud Controller Manager (ako je korišćenje u cloud okruženju):

  • Ova komponenta omogućava Kubernetesu da komunicira sa cloud servisima (AWS, GCP, Azure) i automatski upravlja resursima u cloudu.

  • Na primer, može automatski da kreira load balancer-e, cloud storage i druge resurse u cloud okruženju.


🛠️ Kako Master Node funkcioniše?

  1. Korisnik ili Kubernetes kontroler šalje komande preko kubectl ili druge interfejse ka API server-u.

  2. API server proverava i validira zahtev, i prosleđuje ga odgovarajućim komponentama (Scheduler, Controller Manager, itd.).

  3. Scheduler odlučuje gde da rasporedi Pod.

  4. Controller Manager prati stanje klastera i menja ga ako je potrebno (npr. pokreće novi Pod ako postojeći nije dostupan).

  5. etcd čuva sve promene u stanju klastera.


🧩 Analogija:

Zamisli da je Master Node kao menadžer fabrike. On prati sve procese, usmerava radnike (Pod-ove), i odlučuje šta treba da se desi u svakom trenutku. Kada nešto pođe po zlu (npr. radnik (Pod) se pokvari), menadžer (Master) će doneti odluku o tome kako da to popravimo.


⚠️ Napomena:

  • Master Node ne pokreće direktno Podove (to rade Worker Node-ovi). Međutim, on upravlja svim operacijama klastera.

  • U većim klasterima možeš imati više Master Node-ova za visoku dostupnost (HA), što znači da će klaster ostati operativan čak i ako jedan Master Node padne.

No comments:

Post a Comment