Obiectele folosite în laborator
În Kubernetes, o aplicație este descrisă prin mai multe obiecte care au responsabilități diferite.
| Obiect | Rol în laborator |
|---|---|
| Namespace | Grupează resursele laboratorului și le separă logic de alte aplicații |
| Pod | Cea mai mică unitate care poate fi rulată (conține containerul Ticketing API) |
| ReplicaSet | Menține numărul cerut de Pod-uri |
| Deployment | Declară versiunea aplicației, numărul de replici și strategia de actualizare |
| Service | Oferă un endpoint stabil pentru Pod-urile aplicației |
| ConfigMap | Păstrează configurația nesensibilă, separată de imaginea containerului |
| Secret | Păstrează valori sensibile (va deveni relevant odată cu introducerea bazei de date) |
Relațiile importante sunt:
- Deployment-ul gestionează un ReplicaSet
- ReplicaSet-ul creează și înlocuiește Pod-urile
- Service-ul identifică Pod-urile prin labels și selectors
- ConfigMap-ul injectează configurația în containere.
În mod normal nu vom crea sau modifica direct ReplicaSet-ul și Pod-urile aplicației. Vom modifica Deployment-ul, iar controllerul Kubernetes va gestiona obiectele aflate sub acesta.
notă
Un Pod este o resursă efemeră. Nu trebuie să construim aplicația presupunând că numele sau adresa IP a unui Pod rămân neschimbate.