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.