kubectl top în Kubernetes (kubectl)

Monitorizare și Resurse Kubernetes 1.8+ (cu Metrics Server)

Monitorizarea în timp real a consumului de procesor (CPU) și memorie RAM pe Pod-uri și Noduri direct din terminal.

Sintaxă comandă
kubectl top pods / nodes [opțiuni]

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.

Ghiduri și noțiuni înrudite