Come ottenere i log da tutti i pod utilizzando Kubectl

Come Ottenere I Log Da Tutti I Pod Utilizzando Kubectl



I pod sono unità più piccole e componenti principali del cluster Kubernetes. Questi pod incapsulano le applicazioni containerizzate insieme al volume condiviso. Ogni pod può eseguire e gestire più di un contenitore all'interno del pod. I pod vengono distribuiti all'interno dei nodi di lavoro e ciascun nodo di lavoro può gestire più di un pod.

A volte, l'utente potrebbe riscontrare alcuni stati del pod come errore, errore o stato sconosciuto. Per eseguire il debug del pod o per monitorare l'applicazione in esecuzione all'interno del pod, all'utente potrebbe essere richiesto di visualizzare i log del pod.

Questo post spiegherà:







Come ottenere i log di un singolo pod?

I pod possono essere eseguiti come componente separato nel cluster Kubernetes o essere gestiti e gestiti dalla distribuzione Kubernetes. Per i pod che eseguono applicazioni containerizzate separate e che non fanno parte di alcuna distribuzione, i log di questi pod possono essere controllati solo individualmente. Per controllare i log di un singolo pod, seguire i passaggi seguenti.



Passaggio 1: ottieni i pod

Per elencare i pod Kubernetes, utilizza il comando ' kubectl ottiene i pod ' comanda:



kubectl ottiene i pod

Dall'output seguente, puoi vedere che attualmente sono in esecuzione cinque pod, il ' demo-pod ' è in esecuzione e ha un solo contenitore. I prossimi tre pod fanno parte di “ distribuzione html ', e l'ultimo ' app web Il pod sta eseguendo due contenitori:





Passaggio 2: visualizza i log del singolo pod

Per recuperare i log di un singolo pod, utilizzare il comando ' kubectl logs 'comando:



kubectl registra il demo-pod

Come ottenere i registri del pod dall'estremità?

Di solito, la lunghezza dei log è maggiore e può contenere centinaia di righe. A volte, gli utenti desiderano visualizzare i pod da punti specifici o fino a un numero specifico di log. Per visualizzare un numero specifico di log dalla fine, utilizzare il comando seguente:

kubectl registra il demo-pod --coda 2

Ecco, il “ -coda L'opzione viene utilizzata per visualizzare il registro dalla fine.

Come ottenere i registri di contenitori specifici del pod?

Il singolo pod Kubernetes può eseguire uno o più contenitori. Per accedere al log di un contenitore pod, seguire le istruzioni riportate di seguito.

Passaggio 1: ottieni i pod

Per elencare i pod del cluster Kubernetes, utilizza il pulsante ' kubectl ottiene i pod 'comando:

kubectl ottiene i pod

Ecco, il “ app web ' sta eseguendo più di un contenitore:

Nota: A volte, l'utente potrebbe non ricordare i nomi dei contenitori in esecuzione nel pod. Per controllare i dettagli del contenitore all'interno del pod, ispezionare il pod attraverso il ' kubectl descrive il pod 'comando:

kubectl descrive l'app web pod

Passaggio 2: visualizzare i registri del contenitore

Per ottenere i log del contenitore pod specifico, utilizza il comando 'kubectl logs -c '. Qui l'opzione '-c' viene utilizzata per incorporare il nome del contenitore:

kubectl registra l'app Web -C cont1

Come ottenere i registri di tutti i contenitori del pod?

Per visualizzare i log di tutti i contenitori del pod Kubernetes, impostare il ' –tutti i contenitori ' valore come ' VERO ' nel ' log di kubectl 'comando:

kubectl registra l'app Web --tutti-contenitori = VERO

Come ottenere i log di distribuzione in Kubernetes?

Le distribuzioni sono un'altra risorsa fondamentale di Kubernetes che esegue l'applicazione containerizzata all'interno dei pod. La distribuzione gestisce e gestisce i pod in esecuzione con l'aiuto delle repliche. Per visualizzare i log di distribuzione, seguire i passaggi elencati di seguito.

Passaggio 1: ottieni tutte le risorse Kubernetes

Per elencare tutte le risorse di Kubernetes, utilizza il comando 'kubectl get all':

kubectl ottieni tutto

Qui puoi vedere che tre pod sono in esecuzione nella distribuzione 'html-deployment':

Passaggio 2: visualizzare i log di distribuzione

Per recuperare i log della distribuzione Kubernetes, utilizzare il comando ' kubectl registra deploy/ 'comando:

kubectl registra la distribuzione / distribuzione html

L'output mostra che tre pod sono stati trovati in 'html-deployment' e che attualmente vengono visualizzati solo i log del primo pod:

Come ottenere i log di tutti i pod della distribuzione Kubernetes?

Il caso precedente non mostra i log di tutti i pod di distribuzione. Per visualizzare i log di tutti i pod di una distribuzione Kubernetes, scopri innanzitutto l'etichetta dei pod. Quindi accedi ai log di tutti i pod specificando l'etichetta dei pod. Per la dimostrazione, seguire le istruzioni seguenti.

Passaggio 1: ottieni i pod

Accedi ai pod Kubernetes insieme alle loro etichette utilizzando l'opzione “–show-label” nel comando “kubectl get pods”:

kubectl ottiene i pod --mostra-etichetta

Qui, il risultato seguente mostra i pod insieme alle etichette. Questi pod hanno la stessa etichetta perché sono in esecuzione nella stessa distribuzione:

Passaggio 2: visualizza i log di tutti i pod di distribuzione

Ora, visualizza i log di tutti i pod della distribuzione utilizzando l'etichetta pods. A questo scopo, utilizzare il comando 'kubectl logs -l

log di kubectl -l app =nginx --tutti-contenitori

Visualizza dal vivo i registri dei pod

Per visualizzare in tempo reale i log durante l'esecuzione dei pod Kubernetes, utilizza l'opzione '-f' insieme al comando 'kubectl logs':

log di kubectl -l app =nginx -F

Qui, l'opzione '-l' viene utilizzata per specificare l'etichetta del pod e l'opzione '–all-containers' mostrerà i log di tutti i contenitori in esecuzione nei pod:

Si tratta solo di visualizzare i log di tutti i pod utilizzando kubectl.

Conclusione

In Kubernetes, l'utente può visualizzare i log di tutti i pod in esecuzione nella distribuzione. Per recuperare i log di un singolo pod, utilizza il comando 'kubectl logs '. Per recuperare i log di un contenitore pod specifico, utilizza il comando 'kubectl logs -c '. Per visualizzare i log di tutti i pod della distribuzione Kubernetes, utilizza il comando 'kubectl logs -l '. Questo blog ha illustrato le tecniche per ottenere i log da tutti i pod utilizzando kubectl.