Setting Up MetalLB and Ingress for Load Balancing
In the last chapter, we have looked at how Kubernetes network model works and learned how to use Calico, Cilium, and Flannel CNI plugins to network the cluster. We've also gone through some of the most important factors to consider when choosing a CNI provider.
We should revisit the Kubernetes Service abstraction mechanism from the first chapter before diving into MetalLB load-balancer and Ingress concepts for load balancing. Kubernetes Services, in simple terms, connect a group of Pods to an abstracted Service name and IP address. Discovery and routing between Pods are provided by the Services. Services, for example, connect an application's frontend to its backend, which are both deployed in different cluster deployments.
The most common types of Service are listed here:
- ClusterIP: This is the default type, which exposes the Service via the cluster's internal IP address. These Services are only accessible...