Pentru a depana probleme de performanță sau pentru a stabili valorile optime pentru limitele de resurse (`requests` și `limits`), inginerii au nevoie de vizibilitate imediată asupra resurselor hardware consumate.
Comanda kubectl top interoghează componenta internă Metrics Server a clusterului și afișează consumul instantaneu de memorie (în Mi/Gi) și de nuclee de procesor (în millicores `m`) pentru fiecare Pod dintr-un namespace sau pentru fiecare mașină fizică/virtuală (Node) din cluster.
Este utilitarul rapid indispensabil pentru a identifica instantaneu ce pod suferă de o scăpare de memorie (memory leak) înainte ca acesta să fie ucis violent de sistem prin semnalul Out-Of-Memory (`OOMKilled`).
Sintaxă, opțiuni și concepte cheie
| Opțiune / Concept | Descriere practică |
|---|---|
pods -n |
Afișează consumul de CPU/RAM pentru toate pod-urile din spațiul de nume specificat. |
nodes |
Afișează consumul total agregat pe fiecare nod fizic sau mașină virtuală din cluster. |
--sort-by=memory / cpu |
Ordonează lista descrescător după consumul de memorie sau procesor pentru identificarea ‘vinovaților’. |
--containers |
Afișează granularitatea la nivel de container individual pentru pod-uri multi-container. |
Exemple practice și cod
Exemplul 1: Identificarea celor mai mari consumatori de memorie dintr-un namespace
Comanda optimă de depanare rapidă ordonată pe consum.
$ kubectl top pods -n productiv --sort-by=memory
NAME CPU(cores) MEMORY(bytes)
redis-cache-cluster-0 120m 3450Mi
elasticsearch-master-0 850m 2810Mi
api-backend-6f8b94998c-x98qz 45m 420Mi
frontend-web-7798b584d-22r9a 10m 95Mi
Rezultat & Impact
Identificare clară în timp real a consumului de resurse fără deschiderea unui dashboard greoi.
Greșeli frecvente și bune practici
- Rularea comenzii pe clustere unde componenta oficială `Metrics Server` nu este instalată, returnând eroarea `Metrics API not available`.
- Confundarea valorii afișate de `kubectl top` cu limita rezervată; top arată utilizarea curentă în timp real, nu valoarea `requests` configurată în YAML.