LB IP Pool Tab and Cluster Networking
The LB IP Pool tab manages the Service IP addresses your cluster uses to expose workloads to the internet. E2E Kubernetes integrates natively with MetalLB to provide load-balanced external IPs for Kubernetes services of type LoadBalancer.
To open it, select a cluster and choose the LB IP Pool tab.
How Cluster Networking Works
- Private IPv4 - every master and worker node is automatically assigned a private IPv4 address from the cluster's VPC for secure in-VPC communication. Private addresses are not reachable from the internet.
- Public IPv4 / Service IP - public connectivity for services is provided through MetalLB using reserved Service IPs. MetalLB assigns and releases individual IPs dynamically from the configured pool as
LoadBalancerservices are created and removed.
Reserve a Service IP
- On the LB IP Pool tab, select Add LB IP (also available as Add LB IP from the cluster's row actions and header).
- Reserve a new Service IP address.
- Save the configuration.
MetalLB adds the reserved IP to its address pool and assigns it when a Kubernetes service of type LoadBalancer requests an external IP. A reserved IP stays allocated to your account until you release it.
Expose a Service
Create a Kubernetes service of type LoadBalancer. MetalLB assigns it an external IP from the reserved pool, and the IP can float across nodes if a node fails - as long as traffic reaches one of the cluster's nodes, the service stays reachable.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app.kubernetes.io/name: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
type: LoadBalancer
For host-based HTTP routing and TLS in front of services, see the Nginx Ingress Controller and Cert-Manager guides.
Related Resources
| Resource | Use it for |
|---|---|
| Kubernetes Services guide | Service types and exposure. |
| Nginx Ingress Controller | HTTP routing and TLS termination. |
| Security Groups | Control inbound/outbound traffic. |