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/!