Cos'è kubectl descrive il pod?
Kubectl Descrive Pod è un comando che descrive qualsiasi risorsa in Kubernetes. Viene utilizzato per mostrare i dati su una singola o persino una raccolta di risorse. Questo comando combina una serie di chiamate API per creare una descrizione approfondita di una risorsa o un insieme di risorse.
Il comando Descrive Pod cerca una corrispondenza esatta su tipo e prefisso del nome prima di procedere. Se non esiste tale risorsa, stamperà informazioni per tutte le risorse con il prefisso del nome prefisso. PODS (PO), nodi (no), servizi (SVC), eventi (ev), replicationcontrollers (RC), limite (limiti), persistentVolumeClaims (PVC), spazi dei nomi (NS), persistenza di viro (PV), risorse (quota), Endpoints (EP), ServiceACounts, HorizontalPoDAutoscalers (HPA) o segreti sono alcuni dei tipi di risorse che possono essere utilizzati.
Ora, diamo un'occhiata a come puoi usare Kubectl Descrive Pod e i pochi prerequisiti per incontrarsi.
Prerequisito
Il cluster minikube deve essere installato prima prima di utilizzare Kubectl Descrive Pod. Abbiamo usato Ubuntu 20.04 Per eseguire determinati comandi.
Per avviare un terminale, possiamo prendere una delle due tecniche: un'opzione è utilizzare la barra delle applicazioni del nostro sistema operativo per raggiungere il terminale. Un altro modo è premere il collegamento della tastiera "Ctrl + Alt + T". Per avviare un terminale, seleziona una di queste possibilità. Innanzitutto, dobbiamo avviare un cluster di minikube che era stato precedentemente distribuito su Ubuntu 20.04. Ora lanceremo Minikube digitando il seguente comando nel terminale:
$ Minikube inizi
Come usare kubectl Descrivi il pod per ottenere informazioni sui pod
Ecco un'istanza su come utilizzare il comando Kubectl Descrive Pod per ottenere informazioni pertinenti sui pod. Costruiremo due pod in questo esempio. Fare riferimento di seguito per istruzioni dettagliate.
$ nano deplo.Yaml
L'intero file di configurazione può essere visualizzato di seguito. Puoi modificarlo se necessario.
Esegui il seguente "Crea comando" allo scopo di creare una distribuzione.
$ kubectl crea distribuzione di distribuzione NGINX
Di seguito è riportato lo screenshot di output del comando sopra eseguito.
Eseguindo il comando GET Pods, è possibile controllare lo stato del pod. La rappresentazione può essere vista di seguito.
$ kubectl ottieni baccelli
Possiamo imparare molto di più su questi pod usando kubectl descrivi pod. Guarda la seguente istanza per comprendere meglio il concetto. Il nome del pod può essere modificato secondo la scelta dell'utente. Tuttavia, il comando rimanente sarebbe lo stesso.
$ kubectl Descrivi Pod Busybox
Qui, potresti vedere le informazioni di configurazione del contenitore e del pod (etichette, esigenze di risorse e così via), nonché le informazioni sullo stato del contenitore e del pod (stato, prontezza, conteggio del riavvio, eventi, ecc.).
Discutiamo in dettaglio alcune delle opzioni dall'output sopra:
Aspettare, correre e terminato
Questi sono gli stati del contenitore. A seconda dello stato, puoi ottenere maggiori informazioni - ad esempio, se il contenitore è ora nello stato di esecuzione, il sistema ti dirà quando è iniziato.
Pronto
Indica se il contenitore ha superato la sua più recente sonda di prontezza. Il contenitore non ha nemmeno una configurazione della sonda di prontezza in questa situazione; Se non esiste una sonda di prontezza definita, il contenitore è considerato pronto.
Il conteggio del riavvio
Questa opzione mostra quante volte il contenitore è già stato riavviato. Queste informazioni specifiche sono molto utili per individuare i cicli di arresto anomalo in contenitori con una politica di riavvio "sempre".
La condizione binaria pronta
È l'unica opzione collegata a un pod. Mostra che il pod è abbastanza buono per servire le richieste e può essere facilmente aggiunto a pool di bilanciamento del carico di Servizi simili.
Infine, vedrai una storia di eventi recenti che coinvolgono il tuo pod. Notando la prima o l'ultima volta che sarebbe stato visto, così come il numero di volte in cui si vedeva, il sistema comprime molti eventi simili. “From” mostra quali componenti o componenti registrano l'evento. L'opzione "subjectPath" specifica a quale oggetto o contenitore si fa riferimento. Infine, le opzioni "motivo" e "messaggio" mostrano cosa è realmente accaduto.
Come eseguire il debug di baccelli in sospeso
È possibile utilizzare eventi per rilevare un pod che non si adatta a nessuno dei nodi. Ad esempio, il pod potrebbe richiedere più risorse di quanto possiedono tutti i nodi. D'altra parte, potrebbe dare un selettore di etichette che non corrisponde necessariamente a nessun nodo. Puoi usare Kubectl Descrive Node per ottenere informazioni dettagliate sui nodi, proprio come fai con i baccelli.
$ kubectl ottieni baccelli
Per capire perché il pod non sta iniziando, potremmo eseguire Kubectl descrivere il pod sul pod in sospeso ed esaminare i suoi eventi.
$ kubectl Descrivi i baccelli
Lo scheduler genera un evento che afferma che il pod non è in grado di programmare a causa del fallimento (e può essere di altri). Il messaggio ci avvisa che nessun nodo ha risorse sufficienti per supportare il pod.
Puoi risolvere questo problema aggiornando la distribuzione utilizzando la scala Kubectl e specificando meno repliche. (In alternativa, potresti lasciare in sospeso un pod, il che è sicuro.)
Conclusione
Il comando Kubectl Descrive Pods fornisce informazioni complete su ciascuno dei baccelli di infrastruttura di Kubernetes. Esegui il comando kubectl Descrivi il pod se si desidera vedere l'output da un pod specifico. Per tua comodità, abbiamo superato il comando Descrivi in questo post Kubectl.