Hämta Kubernetes Ingress Log för felsökning

Hamta Kubernetes Ingress Log For Felsokning



Vet du vad Get Kubernetes ingångslogg för felsökning är? Nätverksproblem blir allt mer utmanande att diagnostisera i takt med att distributionerna växer sig större och större. Den här handledningen visar hur du använder ingress-nginx kubectl-plugin för att felsöka åtkomsten till din applikation via ingångskontrollern. Låt oss först se definitionen av Kubernetes ingress, vilket är viktigt för att förstå huvudämnet bättre.

Vad är Kubernetes Ingress?

Definitionen av inträde är 'inträde' i sin bokstavliga mening.







I Kubernetes-gemenskapen är det också sant. En trafik som kommer in i klustret kallas ingress, medan en trafik som lämnar klustret kallas egress.




Som en inbyggd Kubernetes-resurs är ingång jämförbar med pods, distributioner etc. Du kan hänga med i DNS-routningskonfigurationerna med ingress. Ingångskontrollern är den som utför routingen. Det gör den genom att läsa routingreglerna direkt från ingångsobjekten som är lagrade i etcd. Utan Kubernetes-inträde kan du exponera en applikation för omvärlden genom att inkludera en tjänst Type Load Balancer i distributionerna.



Hur fungerar Kubernetes Ingress?

Det finns två viktiga saker som du måste vara tydlig med. Dessa är:





Kubernetes Ingress Resource

Den här resursen är ansvarig för att underhålla alla DNS-routningsregler i klustret. DNS-dirigeringsreglerna specificeras i Kubernetes Ingress-resursen, en inbyggd Kubernetes-resurs. Med andra ord mappar du den externa DNS-trafiken till de interna Kubernetes-tjänstdestinationerna.



Kubernetes Ingress Controller

Genom att få tillgång till DNS-reglerna som implementeras av ingångsresurserna är Kubernetes ingångskontroller (Nginx/HAProxy, etc.) ansvariga för routing.

Implementeringen av Ingress Controller är inte inbyggt i Kubernetes. Som ett resultat kan det inte vara en klusterstandard.

För att ingångsreglerna ska fungera måste vi konfigurera en ingångskontroller. Det finns många intrångskontrollanter för öppen källkod och företag på marknaden. Ett klusters version av en omvänd webbproxyserver fungerar som en ingångskontroller. Den här Kubernetes-baserade omvända proxyservern är exponerad för en lastbalanseringstjänst.

Vad är Ingress Controller?

Ett program som körs i kluster som kallas Ingress Controller konfigurerar en HTTP-lastbalanserare efter Ingress-resurserna. Lastbalanseraren kan vara en externt installerad hårdvara eller molnlastbalanserare, eller så kan den fungera som programvara inom klustret. Olika implementeringar av Ingress Controller behövs för olika lastbalanserare.

När du använder NGINX är lastbalanseraren och ingångskontrollern båda utplacerade i en pod.

Observera att en aktiv ingångskontroller måste finnas i klustret för att Ingress-resursen ska fungera.

Ingress-kontroller startas inte automatiskt med ett kluster, i motsats till de andra typerna av kontroller som fungerar som en komponent i binären kube-controller-manager.

Förutsättningar:

Du behöver ett Kubernetes-kluster och du måste konfigurera kommandoradsverktyget kubectl för att ansluta till ditt kluster. Du kan utfärda kommandona till Kubernetes-kluster med hjälp av kommandoradsverktyget kubectl. Applikationerna kan distribueras, klusterresurserna kan inspekteras och hanteras och loggarna kan ses med kubectl.

Om du för närvarande inte har ett kluster kan Minikube användas för att konstruera ett. Minikube är en lokal Kubernetes som syftar till att göra det enkelt att lära och utveckla Kubernetes.

Kubernetes kan nås med bara ett kommando om du har en virtuell maskinmiljö eller en Docker (eller liknande kompatibel) containermiljö. Låt oss börja steg-för-steg-processen nu:

Steg 1: Starta Minikube

Med hjälp av minikube-verktyget kan du köra Kubernetes lokalt. Minikube kör ett allt-i-ett eller flera noder lokalt Kubernetes-kluster på din dator för dagligt utvecklingsarbete eller för att testa Kubernetes (inklusive Windows, Linux-datorer och macOS). Här är kommandot för att starta minikuben:

> starta minikube



Steg 2: Aktivera Ingress Controller

Vi kommer att visa hur du aktiverar NGINX Ingress-kontrollern i det här steget. Utför följande kommando:

> minikube-tillägg Gör det möjligt inträde



Steg 3: Kontrollera om NGINX Ingress Controller fungerar eller inte

Nu är det viktigt att verifiera om NGINX-kontrollern är aktiv eller inte. Kommandot som följer kan användas för att bekräfta att:

> kubectl få baljor -n ingress-nginx



Var medveten om att du kanske inte märker att dessa pods fungerar korrekt på upp till en minut. Utdata visas i föregående bild.

Steg 4: Skapa en Hello World-app

Här använder vi följande kommando för att skapa en distribution:

> kubectl skapa distributionswebb --bild =gcr.io / google-prover / hej-app: 1.0



Kommandot som körs och dess resultat bifogas i föregående bild. I utgången kan 'hej-app' ses.

Steg 5: Exponera distributionen

Nu kommer vi att visa dig ett kommando för att exponera en specifik distribution. Kommandot nämns enligt följande:

> kubectl exponera implementering Kalsoom  - -typ =NodePort --hamn = 8080



Du kan se 'service/kalsoom exposed'-utgången i föregående bild.

Steg 6: Besök tjänsten via NodePort

Detta är ett viktigt steg där vi visar dig hur du kan besöka den skapade tjänsten genom NodePort. Kommandot för att uppnå detta syfte ges i följande:

> minikube service Kalsoom  --url



Kommandot tillsammans med utdata bifogas i föregående bild.

Nu gör Minikube IP-adressen och NodePort det enkelt att se exempelappen. Du kan använda Ingress-resursen för att komma åt appen i följande steg.

Steg 7: Skapa en ingång

Här skapar vi en ingress som överför trafiken till din tjänst. Kommandot nämns enligt följande:

> kubectl tillämpas -f https: // k8s.io / exempel / service / nätverk / exempel-ingress.yaml



Som du kan se exekveras kommandot framgångsrikt.

Steg 8: Verifiera IP-adressen

Vi kontrollerar om IP-adressen är inställd eller inte. För det använder vi följande givna kommando:

> kubectl får inträde



I utgången bör du se en IPv4-adress i kolumnen ADDRESS.

Slutsats

En översikt över NGINX Ingress Controllers loggning finns i den här artikeln. För att sammanfatta, åtkomst- och felloggarna för NGINX tillsammans med loggarna från Ingress Controller-processen som skapar NGINX-konfigurationen och laddar om NGINX för att tillämpa den, görs tillgängliga av NGINX Ingress Controller.