Enabling Ingress Controllers

In this lesson, we will enable the Ingress controller and play around with it.

Why Ingress Controllers are Required?

We need a mechanism that will accept requests on pre-defined ports (e.g., 80 and 443) and forward them to Kubernetes Services. It should be able to distinguish requests based on paths and domains as well as to 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 Controller needs to be installed separately. Instead of a Controller, kube-controller-manager offers 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 it would mostly depend on your needs and your hosting vendor. Instead, we’ll explore how Ingress Controllers work through the one that is already available in Minikube.

Exploring Minikube Addons

Let’s take a look at the list of the Minikube addons.

Get hands-on with 1200+ tech skills courses.