top | item 30221203

(no title)

ozarkerD | 4 years ago

The author mentions ingresses don’t work for non-http TCP traffic. Is that true?

discuss

order

hardwaresofton|4 years ago

Nope, but it really depends on which Ingress you use. But this isn't a k8s/ingress only issue, HAProxy technically is an L7 tool, for example and people will compare it to NGINX a lot but HAProxy only covers a little bit of what NGINX can really do.

99% of the time a k8s ingress controllers on bare metal boil down to:

- A DaemonSet (container that usually runs on every node in your cluster but could be fewer) with access to your node's ports

- One or more controller deployments/pods/statefulsets (maybe the DS, maybe not) watching for Ingress objects or other Custom Resources, reconfiguring the DS on the fly

Things are different in the cloud distributions heavily rely on LoadBalancers, but if you squint it's pretty similar (I'd also argue that LoadBalancers shouldn't have been added from the get go but that's a whole 'nother discussion).

Traefik[0] is the ingress I use and I've written about why I switched to it and continue to choose it[1]. Long story short, I do TCP and UDP traffic with Traefik and it works great.

[0]: https://doc.traefik.io/traefik

[1]: https://vadosware.io/post/ingress-controller-considerations-...

ozarkerD|4 years ago

Thank you for the excellent answer!