Arhitectura și reconcilierea
Kubernetes este un orchestrator de containere. Utilizatorul declară starea dorită, iar controllerele Kubernetes compară permanent această stare cu starea observată și încearcă să elimine diferențele.
De exemplu, dacă declarăm că aplicația trebuie să aibă două replici și un Pod dispare, Kubernetes creează automat un Pod nou. Acest proces poartă numele de reconciliere.
Componentele principale
Control plane-ul (componenta coordonatoare) include:
- API Server – primește și validează cererile venite de la
kubectlși de la celelalte componente - etcd – păstrează starea clusterului
- Scheduler – alege nodul pe care va rula fiecare Pod
- Controller Manager – rulează buclele de reconciliere.
Fiecare nod de lucru include:
- kubelet – se asigură că Pod-urile planificate pe nod rulează
- container runtime – pornește containerele
- componentele de rețea necesare comunicării dintre Pod-uri și Servicii.
Fluxul simplificat este următorul:
- trimitem un manifest către API Server prin
kubectl apply - obiectul este salvat ca stare dorită
- un controller observă diferența față de starea curentă
- sunt create, actualizate sau eliminate resurse până când cele două stări coincid
- procesul continuă pe toată durata de viață a aplicației.
Ideea centrală a laboratorului
Kubernetes nu execută doar o succesiune de comenzi. El menține continuu o stare declarată.