kubectl events în Kubernetes (kubectl)

Depanare și acces kubectl 1.23+

Listează și urmărește evenimentele din cluster ordonate cronologic, cu filtrare după obiect sau severitate.

Sintaxă comandă
kubectl events [-n NS | -A] [--for=RESURSĂ/NUME] [--types=Normal,Warning] [-w]

Ce face kubectl events

Comanda kubectl events este succesoarea modernă a lui kubectl get events: sortează automat evenimentele în ordine cronologică (nu alfabetic după nume) și oferă flag-uri directe pentru filtrare după obiectul afectat (--for) și după tip (--types=Warning).

Evenimentele sunt păstrate în API server doar pe o perioadă scurtă (de regulă 1 oră, configurată prin --event-ttl). Ele îți spun când kube-scheduler a alocat un pod pe un nod, când kubelet a tras imaginea, când o probă de sănătate (livenessProbe / readinessProbe) a eșuat sau când un volum nu s-a putut monta.

Opțiuni și argumente

Opțiune / Parametru Descriere
--for=TIP/NUME Afișează doar evenimentele legate de resursa indicată (ex. --for=pod/api-6f9b8d7c4-lm2vd).
--types=Normal,Warning Filtrează după severitate; --types=Warning arată doar problemele.
-w, --watch Urmărește evenimentele noi pe măsură ce apar.
-A, --all-namespaces Caută în toate namespace-urile din cluster.
-o yaml|json Exportă evenimentele în format structurat.

Exemple

Exemplul 1: Toate avertismentele recente din cluster

Primul loc în care te uiți când ceva nu funcționează și nu știi încă în ce pod.

kubectl events -A --types=Warning

Ieșire în terminal

NAMESPACE   LAST SEEN   TYPE      REASON             OBJECT                        MESSAGE
shop        4m12s       Warning   FailedScheduling   Pod/worker-7c8d9-zp4k1        0/3 nodes are available: 3 Insufficient cpu.
shop        1m05s       Warning   Unhealthy          Pod/api-6f9b8d7c4-lm2vd       Readiness probe failed: HTTP probe failed with statuscode: 503
shop        18s         Warning   BackOff            Pod/worker-5d4f7b9c8-q2n8r    Back-off restarting failed container worker in pod worker-5d4f7b9c8-q2n8r_shop

Exemplul 2: Evenimentele unui singur Deployment sau Pod în timp real

kubectl events --for=deployment/api -w

Ieșire în terminal

LAST SEEN   TYPE     REASON              OBJECT                MESSAGE
12s         Normal   ScalingReplicaSet   Deployment/api        Scaled up replica set api-7d4b9f8c6 from 0 to 1
4s          Normal   ScalingReplicaSet   Deployment/api        Scaled down replica set api-6f9b8d7c4 from 3 to 2

Greșeli frecvente

  • Căutarea unor incidente petrecute acum câteva ore: evenimentele expiră după ~60 de minute dacă nu ai un exporter dedicat către sistemul de logging.
  • Folosirea lui kubectl get events fără --sort-by=.lastTimestamp: afișează evenimentele într-o ordine greu de urmărit; preferă kubectl events.

Comenzi înrudite

  • kubectl describe: Afișează detaliile complete ale unei resurse, inclusiv evenimentele recente asociate.
  • kubectl logs: Afișează sau urmărește în timp real ieșirea standard (stdout/stderr) a containerelor.
  • kubectl get: Listează una sau mai multe resurse, într-un tabel sau în format YAML/JSON.
  • kubectl rollout: Monitorizează lansarea unei versiuni noi, revine la o revizie anterioară (undo) sau repornește treptat pod-urile.