Download Kubernetes Ingress Log voor foutopsporing

Download Kubernetes Ingress Log Voor Foutopsporing



Weet u wat het Get Kubernetes ingangslogboek voor foutopsporing is? Netwerkproblemen worden steeds moeilijker te diagnosticeren naarmate implementaties groter en groter worden. Deze zelfstudie laat zien hoe u de ingress-nginx kubectl-plug-in gebruikt om de toegang tot uw toepassing via de ingangscontroller te debuggen. Laten we eerst de definitie van Kubernetes-ingress bekijken, wat belangrijk is om het hoofdonderwerp beter te begrijpen.

Wat is Kubernetes Ingress?

De definitie van binnendringen is 'binnenkomst' in letterlijke zin.







In de Kubernetes-community is dat ook zo. Een verkeer dat het cluster binnenkomt, wordt inkomend genoemd, terwijl verkeer dat het cluster verlaat wordt aangeduid als uitgaand verkeer.




Als native Kubernetes-resource is inkomend verkeer vergelijkbaar met pods, implementaties, enzovoort. U kunt de DNS-routeringsconfiguraties bijhouden met behulp van inkomend verkeer. De ingangscontroller voert de routering uit. Het doet dat door de routeringsregels rechtstreeks te lezen van de ingangsobjecten die zijn opgeslagen in etcd. Zonder Kubernetes-ingress kunt u een applicatie blootstellen aan de buitenwereld door een service Type Load Balancer op te nemen in de implementaties.



Hoe werkt Kubernetes Ingress?

Er zijn twee belangrijke dingen waarover u duidelijk moet zijn. Dit zijn:





Kubernetes Ingress-resource

Deze resource is verantwoordelijk voor het onderhouden van alle regels voor DNS-routering in het cluster. De regels voor DNS-routering worden opgegeven in de Kubernetes Ingress-resource, een systeemeigen Kubernetes-resource. Met andere woorden, u wijst het externe DNS-verkeer toe aan de interne Kubernetes-servicebestemmingen.



Kubernetes Ingress-controller

Door toegang te krijgen tot de DNS-regels die worden geïmplementeerd door de ingangsresources, zijn de Kubernetes ingangscontrollers (Nginx/HAProxy, etc.) verantwoordelijk voor de routering.

De implementatie van de Ingress Controller is niet eigen aan Kubernetes. Als gevolg hiervan kan het geen clusterstandaard zijn.

Om de ingangsregels te laten werken, moeten we een ingangscontroller configureren. Er zijn veel open-source en zakelijke ingangscontrollers op de markt. Een clusterversie van een reverse webproxyserver dient als ingangscontroller. Deze op Kubernetes gebaseerde reverse proxyserver wordt blootgesteld aan een load balancer-service.

Wat is de ingangscontroller?

Een programma dat op een cluster draait, de Ingress Controller genaamd, configureert een HTTP-loadbalancer die de Ingress-bronnen volgt. De load balancer kan een extern geïmplementeerde hardware- of cloud load balancer zijn, of hij kan functioneren als software binnen het cluster. Voor verschillende load balancers zijn verschillende Ingress Controller-implementaties nodig.

Bij gebruik van NGINX worden de load balancer en ingangscontroller beide geïmplementeerd in een pod.

Houd er rekening mee dat er een actieve ingangscontroller in het cluster aanwezig moet zijn om de ingangsbron te laten functioneren.

Ingress-controllers worden niet automatisch gestart met een cluster, in tegenstelling tot de andere typen controllers die functioneren als een onderdeel van het binaire bestand kube-controller-manager.

Vereisten:

U hebt een Kubernetes-cluster nodig en u moet het kubectl-opdrachtregelprogramma configureren om verbinding te maken met uw cluster. U kunt de opdrachten aan Kubernetes-clusters geven met behulp van het kubectl-opdrachtregelprogramma. De applicaties kunnen worden geïmplementeerd, de clusterresources kunnen worden geïnspecteerd en beheerd en de logboeken kunnen worden bekeken met behulp van kubectl.

Als u momenteel geen cluster heeft, kan Minikube worden gebruikt om er een te bouwen. Minikube is een lokale Kubernetes die tot doel heeft het leren en ontwikkelen van Kubernetes eenvoudig te maken.

Kubernetes is toegankelijk met slechts één opdracht als u een virtuele machine-omgeving of een Docker (of vergelijkbare compatibele) containeromgeving heeft. Laten we nu beginnen met het stapsgewijze proces:

Stap 1: Start de Minikube

Met behulp van de minikube-tool kunt u de Kubernetes lokaal uitvoeren. Minikube voert een alles-in-één of multi-node lokaal Kubernetes-cluster op uw computer uit voor dagelijks ontwikkelingswerk of om de Kubernetes te testen (inclusief Windows, Linux-pc's en macOS). Hier is de opdracht om de minikube te starten:

> start minikube



Stap 2: Schakel de Ingress Controller in

In deze stap laten we zien hoe u de NGINX Ingress-controller activeert. Voer de volgende opdracht uit:

> minikube-add-ons inschakelen binnenkomen



Stap 3: Controleer of de NGINX Ingress Controller werkt of niet

Nu is het belangrijk om te controleren of de NGINX-controller actief is of niet. De volgende opdracht kan worden gebruikt om te bevestigen dat:

> kubectl krijgt pods -n ingang-nginx



Houd er rekening mee dat u misschien een minuut lang niet merkt dat deze pods goed werken. De uitvoer wordt weergegeven in de vorige afbeelding.

Stap 4: Maak een Hello World-app

Hier gebruiken we de volgende opdracht om een ​​implementatie te maken:

> kubectl maakt implementatie web --afbeelding =gcr.io / google-voorbeelden / hallo-app: 1.0



De opdracht die wordt uitgevoerd en de resultaten ervan zijn bijgevoegd in de vorige afbeelding. In de uitvoer is 'hello-app' te zien.

Stap 5: stel de implementatie bloot

Nu laten we u een opdracht zien om een ​​specifieke implementatie bloot te leggen. Het commando wordt als volgt genoemd:

> kubectl bloot implementatie Kalsoom - -type =NodePort --haven = 8080



U kunt de uitvoer 'service/kalsoom blootgesteld' zien in de vorige afbeelding.

Stap 6: Bezoek de Dienst via NodePort

Dit is een belangrijke stap waarbij we je laten zien hoe je de aangemaakte dienst kunt bezoeken via de NodePort. De opdracht om dit doel te bereiken wordt als volgt gegeven:

> minikube-service Kalsoom --url



De opdracht samen met de uitvoer is bijgevoegd in de vorige afbeelding.

Nu maken het Minikube IP-adres en NodePort het eenvoudig om de voorbeeld-app te bekijken. U kunt de Ingress-resource gebruiken om toegang te krijgen tot de app in de volgende stap.

Stap 7: Maak een Ingress aan

Hier maken we een Ingress die het verkeer naar uw Service verzendt. Het commando wordt als volgt genoemd:

> kubectl toepassen -f https: // k8s.io / voorbeelden / onderhoud / netwerken / voorbeeld-ingress.yaml



Zoals u kunt zien, wordt de opdracht met succes uitgevoerd.

Stap 8: Controleer het IP-adres

We controleren of het IP-adres is ingesteld of niet. Daarvoor gebruiken we het volgende gegeven commando:

> kubectl krijgt toegang



In de uitvoer zou u een IPv4-adres moeten zien in de ADDRESS-kolom.

Gevolgtrekking

In dit artikel vindt u een overzicht van de logboekregistratie van de NGINX Ingress Controller. Samengevat worden de toegangs- en foutenlogboeken voor NGINX samen met de logboeken van het Ingress Controller-proces dat de NGINX-configuratie maakt en NGINX opnieuw laadt om deze toe te passen, beschikbaar gemaakt door de NGINX Ingress Controller.