Få Kubernetes inntrengningslogg for feilsøking

Få Kubernetes inntrengningslogg for feilsøking

Vet du hva Get Kubernetes Ingress -log for feilsøking er? Nettverksproblemer blir stadig mer utfordrende å diagnostisere etter hvert som distribusjoner blir større og større. Denne opplæringen viser deg hvordan du bruker Ingress-Nginx Kubectl-plugin for å feilsøke tilgangen til applikasjonen din gjennom Ingress-kontrolleren. La oss først se definisjonen av Kubernetes Ingress som er viktig å forstå hovedtemaet bedre.

Hva er Kubernetes Ingress?

Definisjonen av inntrenging er "inngang" i sin bokstavelige forstand.

I Kubernetes -samfunnet er det også sant. En trafikk som kommer inn i klyngen blir referert til som inntrengning, mens en trafikk som forlater klyngen blir referert til som Egress.


Som en innfødt Kubernetes -ressurs er Ingress sammenlignbar med belg, distribusjoner osv. Du kan følge med DNS -rutingkonfigurasjonene ved hjelp av inntrengning. Ingress -kontrolleren er det som utfører rutingen. Det gjør det ved å lese rutingsreglene rett fra inntrengningsobjektene som er lagret i ETCD. Uten Kubernetes Ingress, kan du avsløre en applikasjon for omverdenen ved å inkludere en lastbalanse for servicetype i distribusjonene.

Hvordan fungerer Kubernetes Ingress?

Det er to viktige ting du trenger å være tydelig på. Disse er:

Kubernetes inntrenger ressurs

Denne ressursen har ansvaret for å opprettholde alle DNS -rutingsregler i klyngen. DNS -rutingsreglene er spesifisert i Kubernetes Ingress Resource, en innfødt Kubernetes -ressurs. Med andre ord kartlegger du den eksterne DNS -trafikken til de interne Kubernetes -tjenestedestinasjonene.

Kubernetes Ingress Controller

Ved å få tilgang til DNS -reglene som er implementert av Ingress Resources, kan Kubernetes inntrengningskontrollere (Nginx/Haproxy, etc.) har ansvaret for ruting.

Implementeringen av Ingress -kontrolleren er ikke hjemmehørende i Kubernetes. Som et resultat kan det ikke være en Cluster Standard.

For at Ingress -reglene skal fungere, må vi konfigurere en inntrengningskontroller. Det er mange open source og forretningsinntrengningskontrollere på markedet. En klyngers versjon av en omvendt web proxy -server fungerer som en inntrengningskontroller. Denne Kubernetes-baserte omvendte proxy-serveren er utsatt for en belastningsbalanse-tjeneste.

Hva er inntrengningskontrolleren?

Et klyngeløpsprogram kalt Ingress Controller Konfigurerer en HTTP Load Balancer etter Ingress Resources. Lastbalansen kan være en eksternt distribuert maskinvare- eller skybelastningsbalanse, eller den kan fungere som programvare i klyngen. Ulike implementering av inntrengningskontroller er nødvendig for forskjellige belastningsbalanser.

Når du bruker Nginx, er belastningsbalanser og inntrengningskontroller begge distribuert i en pod.

Vær oppmerksom på at en aktiv inntrengningskontroller må være til stede i klyngen for inntrengningsressursen for å fungere.

Ingress-kontrollere lanseres ikke automatisk med en klynge, i motsetning til de andre typene kontrollere som fungerer som en komponent i Kube-Controller-Manager Binary.

Forutsetninger:

Du trenger en Kubernetes-klynge, og du må konfigurere KUBECTL-kommandolinjeverktøyet for å koble deg til klyngen din. Du kan utstede kommandoene til Kubernetes-klynger ved hjelp av KUBECTL-kommandolinjeverktøyet. Søknadene kan distribueres, klyngressursene kan inspiseres og administreres, og loggene kan sees ved hjelp av Kubectl.

Hvis du for øyeblikket ikke har en klynge, kan Minikube brukes til å konstruere en. Minikube er en lokal Kubernetes som tar sikte på å gjøre læring og utvikle Kubernetes enkle.

Kubernetes kan nås med bare en kommando hvis du har et virtuelt maskinmiljø eller en Docker (eller lignende kompatibelt) containermiljø. La oss begynne trinn-for-trinn-prosessen nå:

Trinn 1: Start Minikube

Ved hjelp av Minikube -verktøyet kan du kjøre Kubernetes lokalt. Minikube kjører en alt-i-ett- eller flernode lokal Kubernetes-klynge på datamaskinen din for daglig utviklingsarbeid eller for å teste Kubernetes (inkludert Windows, Linux PCS og MacOS). Her er kommandoen for å starte Minikube:

> Minikube Start



Trinn 2: Aktiver inntrengningskontrolleren

Vi vil demonstrere hvordan du aktiverer Nginx Ingress -kontrolleren i dette trinnet. Gjennomfør følgende kommando:

> Minikube Addons Aktiver Ingress



Trinn 3: Bekreft om Nginx Ingress -kontrolleren fungerer eller ikke

Nå er det viktig å bekrefte om Nginx -kontrolleren er aktiv eller ikke. Kommandoen som følger kan brukes til å bekrefte at:

> Kubectl Get Pods -N Ingress -nginx



Vær oppmerksom på at du kanskje ikke legger merke til at disse belgene fungerer ordentlig i opptil et minutt. Utgangen vises i forrige bilde.

Trinn 4: Lag en Hello World -app

Her bruker vi følgende kommando for å opprette en distribusjon:

> Kubectl Opprett distribusjon Web -Image = GCR.IO/Google-Sampples/Hello-App: 1.0



Kommandoen som utføres og resultatene er vedlagt i forrige bilde. I utgangen kan "Hello-app" sees.

Trinn 5: Utsett distribusjonen

Nå vil vi vise deg en kommando for å avsløre en spesifikk distribusjon. Kommandoen er nevnt som følger:

> KUBECTL EXPOSE DEPLOMLATION KALSOOM --TYPE = NODEPORT --PORT = 8080



Du kan se "Service/Kalsoom Exposed" -utgangen i forrige bilde.

Trinn 6: Besøk tjenesten via nodeport

Dette er et viktig trinn der vi viser deg hvordan du kan besøke den opprettede tjenesten gjennom nodeport. Kommandoen for å oppnå dette formålet er gitt i følgende:

> Minikube Service Kalsoom --Url



Kommandoen sammen med utgangen er festet i forrige bilde.

Nå gjør minikube -IP -adressen og nodeport det enkelt å se eksemplet -appen. Du kan bruke inntrengingsressursen for å få tilgang til appen i følgende trinn.

Trinn 7: Lag en inntrengning

Her lager vi en inntrenging som overfører trafikken til tjenesten din. Kommandoen er nevnt som følger:

> Kubectl Søk -f https: // k8s.io/eksempler/service/nettverk/eksempel-ingress.Yaml



Som du ser utføres kommandoen.

Trinn 8: Bekreft IP -adressen

Vi sjekker om IP -adressen er angitt eller ikke. For det bruker vi følgende gitt kommando:

> Kubectl Få inntrengning



I utgangen bør du se en IPv4 -adresse i adressekolonnen.

Konklusjon

En oversikt over Nginx Ingress Controllers logging er gitt i denne artikkelen. For å oppsummere, blir tilgangs- og feilloggene for Nginx sammen med logger fra inntrengningskontrollerprosessen som oppretter Nginx -konfigurasjonen og laster inn NGINX for å bruke den, tilgjengelige av Nginx Ingress -kontrolleren.