Service (servis) je stalna mrežna apstrakcija koja omogućava pristup Podovima putem fiksne IP adrese i DNS imena, bez obzira na to da li se Podovi menjaju.
Drugim rečima:
Service je "stalna adresa" za pristup aplikaciji koja se pokreće u Podovima, iako se ti Podovi menjaju u pozadini.
🧠 Zašto je to važno?
Kada koristiš Deployment ili ReplicaSet, Kubernetes stalno menja Podove (npr. zbog restarta, skaliranja…). Svaki Pod dobije novu IP adresu, pa ne možeš direktno da se oslanjaš na njih.
Zato koristiš Service kao "fiksni ulaz" koji automatski preusmerava saobraćaj na ispravne Podove.
⛓️ Kako radi?
Service koristi label selector da pronađe Podove:
Ovo znači:
-
Pronalazi sve Podove koji imaju
label: app=moja-aplikacija
-
Kada neko pristupi ovom servisu na portu
80
, saobraćaj se šalje na8080
unutar Podova -
ClusterIP
znači da je servis dostupan samo unutar klastera
🧭 Tipovi servisa:
Tip | Dostupan gde? | Opis |
---|---|---|
ClusterIP | Unutar klastera | Podrazumevani |
NodePort | Sa spolja preko nodova | Otvara port na svakom nodu |
LoadBalancer | Spolja kroz cloud load balancer | Koristi eksterni IP (npr. u AWS, GCP) |
ExternalName | DNS alias za eksterni servis | Nema port forwarding |
🗺️ Analogija:
Zamisli da imaš restoran (Podove) koji se stalno seli u različite lokale, ali uvek zadrži isti broj telefona (Service). Kada klijent pozove taj broj, automatski se poveže sa trenutnom lokacijom.
No comments:
Post a Comment