Skip to main content

Recapitulare și curățare

Starea finală​

Înainte de curățare, inspectați toate componentele:

kubectl get deployments,statefulsets,pods,services,pvc -n cc-lab3
kubectl get endpointslices -n cc-lab3
kubectl get events -n cc-lab3 --sort-by=.metadata.creationTimestamp

Ar trebui să aveți:

  • două replici Ticketing API gestionate de un Deployment
  • o instanță postgres-0 gestionată de un StatefulSet
  • câte un Service pentru API și PostgreSQL
  • PVC-ul data-postgres-0 în starea Bound
  • toate Pod-urile în starea Running și Ready.

Ce am obținut​

Am pornit de la aplicația stateless din Laboratorul 2 și am adăugat:

  • configurație externă prin ConfigMap
  • credențiale furnizate prin Secret
  • PostgreSQL cu identitate stabilă
  • un PersistentVolumeClaim pentru date
  • startup, liveness și readiness probes cu roluri diferite
  • requests, limits și security contexts
  • experimente controlate de defect și recuperare
  • verificarea persistenței după recrearea Pod-ului.

Ideea centrală este că Pod-urile sunt înlocuibile, dar starea importantă nu trebuie să depindă de ciclul lor de viață.

Curățare​

Opriți port-forward cu Ctrl+C, apoi ștergeți clusterul:

kind delete cluster --name cc-lab3
caution

Ștergerea unui StatefulSet nu șterge în mod implicit toate PVC-urile asociate. În acest laborator ștergem întregul cluster local, inclusiv resursele sale de stocare.

Legătura cu laboratorul următor​

Aplicația are acum suficiente semnale operaționale pentru a fi observată. În laboratorul următor vom colecta și corela informații despre comportamentul ei, folosind logs, metrics și traces.