Skip to main content

Ingress

Layer 7 Load Balancer

  • Terminates TLS

Instead of 100 LoadBalancer type Services, this is a single LB that handles multiple ingress port/ip maps

You still have to expose the Ingress, just like a regular service, but this is a one-time thing.

Ingress controllers have additional resources built in to monitor the k8s cluster and determine what needs to happen.

You have to first launch some kind of Ingress Controller, like an nginx ingress controller.

https://quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.21.0

Also requries args to specify where the custom Nginx bin is built

Create a config map too (a blank config map will do at this point) You need 2 env vars to specify the pod name and namespace specify ports (80 /443)

Need some ClusterRole service accounts and bindings

ingress resources can map various url paths to different backend services, just like an nginx reverse proxy.

Imperative Creation

kubectl create ingress <ingress-name> --rule="host/path=service:port"

todo! Cluster it out to test ingress/!