MetalLB
Load balancermetallb
Load balancer for bare-metal Kubernetes that allocates and announces service IPs.
- Provider
- default
- Kind
- Load balancer
- Category
- Edge
- Official docs
- https://metallb.io/concepts/
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| announcementMode | enum | layer2 | bgp | no | — | inherited |
| connectionPreserving | boolean | — | no | false | inherited |
| ecmp | boolean | — | no | false | inherited |
| global | boolean | — | no | false | inherited |
| hashing | enum | round-robin | least-connections | ecmp | maglev | consistent | random | no | round-robin | inherited |
| healthChecks | boolean | — | no | true | ▸ false |
| instances | integer | — | no | — | inherited |
| layer | enum | l4 | l7 | no | l7 | ▸ l4 |
| managed | boolean | — | no | false | ▸ false |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "metallb", component: "metallb" }Server Load Balanceralibaba-slbAWS Application Load BalanceralbAWS Classic Load Balanceraws-classic-load-balancerAWS Global Acceleratoraws-global-acceleratorAWS Gateway Load Balanceraws-gwlbAWS Network Load BalancernlbAzure Application Gatewayazure-application-gatewayApplication Gateway for Containersazure-application-gateway-for-containersAzure Load Balancerazure-load-balancerCloudflare Load Balancingcloudflare-load-balancingCloudflare Spectrumcloudflare-spectrumApache HTTP Serverapache-httpdBFEbfeCaddycaddyContourcontourEnvoyenvoyF5 BIG-IPf5-big-ipHAProxyhaproxyKeepalivedkeepalivedGeneric load balancerload-balancerLoad balancerload-balancer-tierloxilbloxilbNGINXnginxTraefiktraefikDigitalOcean Load Balancersdigitalocean-load-balancerGoogle Cloud Load Balancinggoogle-cloud-load-balancingIBM Cloud Load Balancer for VPCibm-load-balancerKubernetes Gatewayk8s-gatewayIngressk8s-ingressServicek8s-serviceOCI Load Balanceroci-load-balancerNetwork Load Balanceroci-network-load-balancerOpenStack Octaviaopenstack-octaviaLoad Balancer Unit (LBU)outscale-lbu
# yaml-language-server: $schema=../../schema/component.schema.json # MetalLB: self-hosted LoadBalancer service implementation for bare-metal Kubernetes. Per "Concepts" # it allocates and announces service IPs in either layer 2 (ARP/NDP, one node owns the address) or # BGP mode; it does not health check backends itself and ECMP only exists with multipath routers. schemaVersion: "1" type: "component" id: "metallb" kind: "load-balancer" provider: "default" docs: "https://metallb.io/concepts/" defaults: layer: "l4" managed: false healthChecks: false properties: announcementMode: type: "enum" values: ["layer2", "bgp"] ecmp: type: "boolean" default: false