ALB Ingress Controller

Please read my example and question below. I am new to K8’s and mapping out how traffic flow works.

Example: I have a website running on K8’s and it is exposed to the internet via an AWS ALB loadbalancer. When a user requests a page on my website it is received by the AWS ALB then sent to the ALB ingress controller then sent to the correct POD/Container running that service.

Question: Does the pod/container then respond by sending it’s traffic back to the ALB ingress controller and then sends it up to the AWS ALB and then to the user?

Cluster information:

Kubernetes version:1.14
Cloud being used: EKS
Installation method: Terraform
Host OS: AWS AMI EKS Optimized
CNI and version:
CRI and version:

You can format your yaml by highlighting it and pressing Ctrl-Shift-C, it will make your output easier to read.

Traffic will be like as you described, the request and response path are the same:

client <--> AWS ALB <--> Ingress <--> Pod

Depending exactly how everything is configured each step on the path is usually establishing a new TCP connection with the next thing.
So for example when the request hits the Ingress controller that will inspect the HTTP header and then establish a new TCP connection from Ingress to the correct Pod.

Are you seeing this as a concern?
Or just wondering how it works?

Kind regards,
Stephen

Hi Stephen. I am just wondering how it works. I figured it out. We have a different setup that does not use the ingress controller. We are using nodeports. I found this great article on it. https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/controller/how-it-works/

Pod --> Service --> Ingress --> AWS ALB --> User

And if there is a lower level of abstraction, on which nodes does this happen, are these nodes in the same network and how many levels of isolation (abstraction) on these nodes provide this?