Enabling Ingress Controllers

Learn how to enable the Ingress controller and play around with it.

Why are Ingress controllers required?

We need a mechanism that will accept requests on predefined ports (e.g., 80 and 443) and forward them to Kubernetes Services. It should be able to distinguish requests based on paths and domains and be able to perform SSL offloading.

Kubernetes itself does not have a ready-to-go solution for this. Unlike other types of controllers that are typically part of the kube-controller-manager binary, Ingress controllers need to be installed separately. Instead of a controller, kube-controller-manager offers an Ingress resource that other third-party solutions can utilize to provide requests forwarding and SSL features. In other words, Kubernetes only provides an API, and we need to set up a controller that will use it.

Fortunately, the community already built a myriad of Ingress controllers. We won’t evaluate all of the available options since that would require a lot of space and mostly depend on our needs and hosting vendor.

Get hands-on with 1400+ tech skills courses.