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?
- Hvordan får man logs over specifikke beholdere med pod?
- Hvordan får man logs over alle beholdere med pod?
- Hvordan får man logs over implementering i Kubernetes?
- Hvordan får man logs over alle Pods af Kubernetes-implementering?
- Konklusion
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
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 2Her 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ælgHer 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
Trin 2: Se containerlogfiler
Brug kommandoen 'kubectl logs
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å alleHer 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/
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-etiketHer 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 -fHer 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