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]
Related Concepts¶
- Kubernetes Ingress
- [[Load Balancing]]