Deployment je Kubernetes objekat koji upravlja stateless aplikacijama, tj. aplikacijama koje ne zavise od svog identiteta i ne čuvaju stanje lokalno.
Ukratko: Deployment = automatsko skaliranje i obnavljanje "običnih", zamjenjivih Podova.
🔧 Šta radi Deployment:
-
Pokreće željeni broj identičnih Podova
-
Osigurava da uvek ima tačno toliko aktivnih replika
-
Automatski pravi rolling update (postepeno ažuriranje verzije)
-
Vraća prethodnu verziju ako nešto krene po zlu
📄 Primer YAML fajla:
Ovo pravi 3 identična Nginx Poda koji mogu da se zamene bilo kad.
🧱 Šta je StatefulSet?
StatefulSet je tip kontrolera za stateful aplikacije — one koje:
-
Trebaju stalni identitet (ime, IP adresu)
-
Imaju stalne podatke koji ne smeju da se izgube
-
Zahtevaju redosled pokretanja i gašenja
Ukratko: StatefulSet = koristiš kad ti treba stabilan, predvidiv red i podaci.
🧠 Ključne razlike naspram Deployments:
| Deployment | StatefulSet | |
|---|---|---|
| Imena Podova | Nasumična | Fiksna (ime-0, ime-1...) |
| IP adrese | Mogu da se promene | Ostaju stabilne |
| Volume | Deljeni | Svaki Pod ima svoj volume |
| Skaliranje | Bilo kojim redosledom | U strogoj sekvenci |
| Primeri upotrebe | Web serveri, API | Baze, Kafka, Redis |
📄 Primer YAML za StatefulSet:
Svaki Pod (
redis-0,redis-1,redis-2) ima svoj lični disk (PVC) koji se ne briše automatski.
🗺️ Analogija:
-
Deployment = vojska identičnih robota, lako zamenjivih.
-
StatefulSet = red zaposlenih sa imenima, radnim stolom i ličnim fiokama.
No comments:
Post a Comment