Skip to content

Ingress Controller Service Types

The Ingress Controller Service Type determines how the Ingress controller itself is exposed to the network, enabling it to route external traffic to internal services.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

Service Exposure

The Ingress controller requires a specific Service type to handle incoming traffic. The configuration depends on the underlying infrastructure of the Kubernetes cluster.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

LoadBalancer

In a cloud environment or a cluster that supports the LoadBalancer type, the Ingress controller service is defined with type: LoadBalancer.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

When this type is applied, the cloud provider or cluster provisioner assigns an external IP address or FQDN to the service.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md] You can verify the assignment by inspecting the EXTERNAL-IP field of the service.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

If the EXTERNAL-IP field displays <pending>, it indicates that the Kubernetes cluster is unable to configure a load balancer.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md] This typically occurs in environments that do not natively support type LoadBalancer services (e.g., local development clusters or bare-metal setups without a metalLB equivalent).^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

NodePort

When a LoadBalancer cannot be provisioned, the Ingress controller operates effectively as a NodePort service.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

In this mode, the controller is accessible via the IP address of any Kubernetes node combined with a specific static port allocated in the 30000+ range.^[400-devops__06-Kubernetes__k8s-learning__06.ingress__README.md]

Sources