Sådan får du logfiler fra alle pods ved hjælp af Kubectl

Sadan Far Du Logfiler Fra Alle Pods Ved Hjaelp Af Kubectl



Pods er mindre enheder og kernekomponenter i Kubernetes-klyngen. Disse bælg indkapsler containere applikationer sammen med delt volumen. Hver pod kan udføre og administrere mere end én container inde i poden. Pod'erne er installeret inde i arbejdernoderne, og hver arbejdernode kan administrere mere end én pod.

Nogle gange kan brugeren stå over for nogle pod-tilstande, såsom fejl, mislykket eller ukendt tilstand. For at fejlsøge poden eller for at overvåge applikationen, der kører inde i poden, kan brugeren blive bedt om at se podens logfiler.

Dette indlæg vil forklare:







Hvordan får man logfiler fra en enkelt pod?

Pod'erne kan køre som en separat komponent i Kubernetes-klyngen eller administreres og drives af Kubernetes-implementering. For pods, der kører separate container-applikationer og ikke er en del af nogen implementering, kan disse pods logfiler kun kontrolleres individuelt. Følg nedenstående trin for at kontrollere logfilerne for en enkelt pod.



Trin 1: Hent pods

For at liste Kubernetes-pods ned skal du bruge ' kubectl få bælg ' kommandoer:



kubectl få bælg

Fra nedenstående output kan du se i øjeblikket fem pods udfører, ' demo-pod ” kører og har kun én container. De næste tre pods er en del af ' html-implementering ', og den sidste ' web-app ” pod udfører to containere:





Trin 2: Se logfiler for enkelt pod

For at hente logfilerne fra en enkelt pod skal du bruge ' kubectl logger kommando:



kubectl logger demo-pod

Hvordan får man logs af pod fra slutningen?

Normalt er længden af ​​logs længere og kan indeholde hundredvis af linjer. Nogle gange ønsker brugere at se pods fra bestemte punkter eller op til et bestemt antal logfiler. For at se et bestemt antal logfiler fra slutningen, brug nedenstående kommando:

kubectl logger demo-pod --hale 2

Her er ' -hale ” mulighed bruges til at se loggen fra slutningen.

Hvordan får man logs over specifikke beholdere med pod?

Kubernetes single pod kan udføre en eller mere end én container. Følg nedenstående instruktioner for at få adgang til loggen for en pod-beholder.

Trin 1: Hent pods

For at liste ned puderne i Kubernetes-klyngen skal du bruge ' kubectl få bælg kommando:

kubectl få bælg

Her er ' web-app ' udfører mere end én container:

Bemærk: Nogle gange kan brugeren ikke huske navnene på beholdere, der kører i poden. For at kontrollere beholderdetaljerne inde i poden skal du inspicere poden gennem ' kubectl beskriver pod kommando:

kubectl beskrive pod web-app

Trin 2: Se containerlogfiler

Brug kommandoen 'kubectl logs -c ' for at få logfilerne for den specifikke pod-beholder. Her bruges '-c'-indstillingen til at indlejre containernavnet:

kubectl logger web-app -c forts1

Hvordan får man logs over alle beholdere med pod?

For at se logfiler for alle beholdere i Kubernetes pod skal du indstille ' – alle-containere ' værdi som ' rigtigt ' i ' kubectl logs kommando:

kubectl logger web-app --alle-containere = rigtigt

Hvordan får man logs over implementering i Kubernetes?

Implementeringer er en anden kerne Kubernetes-ressourcer, der kører den containeriserede applikation inde i pods. Implementeringen administrerer og betjener de løbende pods ved hjælp af replikaer. Følg nedenstående trin for at se implementeringsloggene.

Trin 1: Hent alle Kubernetes-ressourcer

For at liste alle ressourcer i Kubernetes, brug kommandoen 'kubectl get all':

kubectl få alle

Her kan du se tre pods udføres under 'html-deployment'-implementering:

Trin 2: Se logfiler for implementering

For at hente logfilerne for Kubernetes-implementeringen skal du bruge ' kubectl logs deployment/ kommando:

kubectl logs implementering / html-implementering

Outputtet viser, at tre pods findes i 'html-deployment' og i øjeblikket kun ser logfilerne for den første pod:

Hvordan får man logs over alle Pods af Kubernetes-implementering?

Ovenstående tilfælde viser ikke logfilerne for alle implementerings-pods. For at se logfilerne for alle pods i en Kubernetes-installation skal du først finde ud af etiketten for pods. Få derefter adgang til logfilerne for alle pods ved at angive pod-etiketten. For demonstration skal du gennemgå instruktionerne nedenfor.

Trin 1: Hent pods

Få adgang til Kubernetes pods sammen med deres etiketter ved at bruge '–show-label'-indstillingen i kommandoen 'kubectl get pods':

kubectl få bælg --vis-etiket

Her viser nedenstående resultat bælgerne sammen med etiketter. Disse pods har den samme etiket, fordi de kører under den samme implementering:

Trin 2: Se logfiler over alle implementeringspods

Se nu logfilerne for alle pods af implementering ved hjælp af pod-etiketten. Til dette formål skal du bruge kommandoen 'kubectl logs -l

kubectl logs -l app =nginx -- alle-containere

Live Se logfilerne for pods

For at se logfilerne live, mens du udfører Kubernetes-pods, skal du bruge '-f'-indstillingen sammen med kommandoen 'kubectl logs':

kubectl logs -l app =nginx -f

Her bruges '-l'-indstillingen til at specificere pod-etiketten, og '–all-containers'-indstillingen vil vise logfilerne for alle containere, der kører under pods:

Det handler om at se logfiler for alle pods ved hjælp af kubectl.

Konklusion

I Kubernetes kan brugeren se logfilerne for alle pods, der kører under implementeringen. For at hente logfilerne fra en enkelt pod skal du bruge kommandoen 'kubectl logs '. For at hente logfilerne for en specifik pod-beholder skal du bruge kommandoen 'kubectl logs -c '. Brug kommandoen 'kubectl logs -l ' for at se logfilerne for alle kubernetes-implementeringens pods. Denne blog har illustreret teknikkerne til at hente logfiler fra alle pods ved hjælp af kubectl.