Theo Von:
I have a very beginner question. In order to take advantage of ingress, you first need to install a controller. Say I’ve picket nginx for aws eks and the ingress’ controller has external ip of type loadbalancer. I then create my ingress manifest, which is host based. I’m struggling to understand how does everything work together. I would have a domain’s A record pointed @ the external ip of the ingress controller, when i hit that, does it somehow forward traffic to my ingress manifests, which then forward to some service that sends traffic to pods at the end, or how does it all happen actually? TY!
Theo Von:
hey, thanks! This was the right I article I needed to look at. So if anyone else is wondering about this too, here’s how it goes to my understanding. When provisioning the nginx ingress controller it creates an NLB in AWS. You can then point your domains A record in route 53 to said NLB. For each NLB that you create AWS EKS adds one inbound rule to the node’s security group for client traffic and one rule for each load balancer subnet in the VPC for health checks. Proceed with creating the ingress resource which will forward traffic to some service based on path or host. Now when u hit your domain it will point to the NLB, which selects a target from the target group for the default rule. It attempts to open a TCP connection to the selected target on the port specified in the listener configuration. This is how you actually reach the ingress, and this was the most confusing bit for me. From there on he ingress resource, forwards the request based on a rule to some service, which is targeting the pods.