File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
docs/baremetal/kubernetes Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change 11# Metal Loadbalancer Controller
2+
3+ The [ metal-loadbalancer-controller] ( https://github.com/ironcore-dev/metal-load-balancer-controller ) is responsible
4+ for managing the lifecycle of ` Services ` of type ` LoadBalancer ` in a Kubernetes cluster running on bare metal servers.
5+ The project consists of two main components:
6+ - ** Controller** : The main component that watches for changes in ` Service ` resources and manages the lifecycle of load balancers.
7+ - ** Speaker** : Is responsible for announcing the load balancer IP address to ` metalbond ` which acts as a route reflector
8+ to the bare metal servers.
9+
10+ The ` metal-loadbalancer-controller ` is designed to work in an IPv6 only environment.
11+
12+ ## Controller
13+
14+ The controller component has the following responsibilities:
15+ - Watches for changes in ` Service ` resources of type ` LoadBalancer ` and uses the ` ClusterIP ` of a ` Service ` and patches the
16+ ` LoadBalancer ` status using this ` ClusterIP ` .
17+ - Setting the ` PodCIDRs ` on the ` Node ` resources to ensure that the load balancer can route traffic to the pods. Here it
18+ takes the main ` Node ` IP address and the configured ` node-cidr-mask-size ` and patches the ` Node.spec.podCIDRs ` field.
19+
20+ ## Metalbond-Speaker
21+
22+ The speaker is typically deployed as a ` DaemonSet ` in a bare metal cluster. It is responsible for announcing
23+ the load balancer IP address to the ` metalbond ` service, which acts as a route reflector to the bare metal servers.
24+ The speaker can be configured to which ` VNI ` the load balancer IP address should be announced.
You can’t perform that action at this time.
0 commit comments