Het landschap van cloud native technologieën is zeer breed en divers. Zo bieden tientallen aanbieders hun tools aan die je op allerlei manieren ondersteunen. Hoe vind je je weg in deze tools? Engineers en architecten van True helpen je op weg. In deze serie delen we onze kennis met je over verschillende Kubernetes tools. 💡 Tip: lees ook de blog De Cloud Native Trail Map van CNCF (en welke aanvullingen True daarop heeft) voor het begin van je reis naar cloud native.
Wat is een Kubernetes Ingress Controller?
Een Kubernetes ingress controller speelt een belangrijke rol in de wereld van Kubernetes. De controller is een applicatie die in een Kubernetes-cluster draait. Hier configureert het een HTTP-loadbalancer op basis van Ingress-resources. Deze loadbalancer kan een software-gebaseerde variant zijn die in het cluster draait, maar ook een hardware- of cloud-gebaseerde loadbalancer die extern draait.
Wat is een NGINX Ingress Controller?
Kubernetes ingress controllers zijn in diverse vormen en maten beschikbaar. Een voorbeeld is de NGINX Ingress Controller. NGINX is een webserver die beschikbaar is als NGINX Open Source en NGINX Plus. Met NGINX Plus krijgen partijen ook support voor hun NGINX-implementatie. De NGINX Ingress Controller is een aanvulling op de NGINX-webserver.
De controller is ontwikkeld door NGINX. De NGINX Ingress Controller draait in een pod naast de NGINX Open Source- of NGINX Plus-webserver in een Kubernetes-cluster. De tool is specifiek toegespitst op Kubernetes. De NGINX Ingress Controller is compatibel met de lichtgewicht web application firewall NGINX App Protect.
Wat zijn de voordelen van ingress controllers in Kubernetes?
Het gebruik van een Kubernetes ingress controller is geen overbodige luxe. Want wie productie workloads naar Kubernetes pusht, loopt al snel tegen uitdagingen aan rond het beheer van applicatieverkeer. De NGINX Ingress Controller neemt deze complexiteit weg met behulp van automatisering. De controller vormt hierbij een brug tussen Kubernetes services en externe services. Ingress verwijst hierbij naar ‘ingress traffic’, een Engelse term die het binnenkomend verkeer van buiten het Kubernetes-cluster omschrijft.
Een NGINX Ingress Controller biedt allerlei mogelijkheden. Zo helpt de controller bij het accepteren van verkeer afkomstig van buiten het Kubernetes-platform. Een NGINX Ingress Controller is echter ook geschikt voor het beheer van uitgaand netwerkverkeer vanaf pods naar locaties buiten het Kubernetes-cluster. Andere mogelijkheden zijn het toepassen van loadbalancing op pods die binnen een Kubernetes-omgeving draaien, evenals het monitoren van pods. Wordt een nieuwe pod (één proces binnen je cluster die een of meerdere containers bevat) toegevoegd of juist verwijderd? Dan update een Kubernetes ingress controller automatisch de regels voor loadbalancing.
Wanneer kun je een NGINX Ingress Controller goed gebruiken?
De NGINX Ingress Controller kent diverse toepassingen. Enkele voorbeelden van de belangrijkste gebruiksscenario’s zijn:
De edge van het netwerk beveiligen
In een correct ontworpen Kubernetes-omgeving is de Kubernetes ingress controller het enige toegangspunt waarover data naar services in de Kubernetes-omgeving kunnen stromen. In combinatie met een web application firewall kan de NGINX Ingress Controller dan ook gecontaineriseerde apps in een Kubernetes-omgeving beschermen tegen een breed scala aan kwetsbaarheden.
End-to-end encryptie toepassen
End-to-end encryptie stelt zeker dat verstuurde data gedurende de volledige reis afgeschermd zijn. De verzender versleutelt de gegevens, waarna alleen de ontvanger deze kan ontsleutelen. Doordat NGINX Ingress Controller al het binnenkomende verkeer beheert, is de tool bij uitstek geschikt voor het afdwingen van end-to-end encryptie. Dit kan bijvoorbeeld door het integreren van Kubernetes ingress controller met bijvoorbeeld NGINX Service Mesh. Deze service mesh beheert zowel inkomend als uitgaand mTLS (mutual TLS) verkeer op efficiënte wijze.
Meer inzicht krijgen in het Kubernetes-cluster
Een gebrek aan inzicht in het Kubernetes-cluster is een belangrijke uitdaging in productie-omgevingen. Dit bemoeilijkt onder meer het waarborgen van de veerkracht van cluster en het oplossen van eventuele problemen. Ingress controllers opereren aan de rand van het Kubernetes-cluster en krijgen te maken met ieder stukje verkeer dat het cluster binnenkomt. Ze bevinden zich hiermee in een ideale positie voor het bieden van meer inzicht in de Kubernetes-omgeving. Zo kun je data vanuit de NGINX Ingress Controller exporteren naar populaire monitoringstools als Prometheus of Grafana. Deze tools helpen je onder meer bij het identificeren van trends in het verkeer naar een cluster.
NGINX in 100 seconden uitgelegd in een video
Fireship, een platform dat content produceert voor developers over complexe technische onderwerpen, legt in de onderstaande video in 100 seconden uit wat NGINX is, wat je hiermee kunt en wat de tool zo interessant maakt.
Samenwerken aan je ambities met Kubernetes?
Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Fully Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.