MetalLB

Load balancer for bare-metal Kubernetes that allocates and announces service IPs.

Provider
default
Category
Edge
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
announcementMode · component propertyenumlayer2 | bgpno—inherited
connectionPreserving · advancedboolean—nofalseinherited
ecmp · component propertyboolean—nofalseinherited
globalboolean—nofalseinherited
hashingenumround-robin | least-connections | ecmp | maglev | consistent | randomnoround-robininherited
healthChecksboolean—notrue▸ false
instancesinteger—no—inherited
layerenuml4 | l7nol7▸ l4
managedboolean—nofalse▸ false
Rules that apply · 0

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.
Use it in a design
nodes:
  - { id: "metallb", component: "metallb" }
Other Load balancer products · 34
Server Load Balanceralibaba-slbalibabacloudload-balancerAWS Application Load Balanceralbawsload-balancerAWS Classic Load Balanceraws-classic-load-balancerawsload-balancerAWS Global Acceleratoraws-global-acceleratorawsload-balancerAWS Gateway Load Balanceraws-gwlbawsload-balancerAWS Network Load Balancernlbawsload-balancerAzure Application Gatewayazure-application-gatewayazureload-balancerApplication Gateway for Containersazure-application-gateway-for-containersazureload-balancerAzure Load Balancerazure-load-balancerazureload-balancerCloudflare Load Balancingcloudflare-load-balancingcloudflareload-balancerCloudflare Spectrumcloudflare-spectrumcloudflareload-balancerApache HTTP Serverapache-httpdload-balancerBFEbfeload-balancerCaddycaddyload-balancerContourcontourload-balancerEnvoyenvoyload-balancerF5 BIG-IPf5-big-ipload-balancerHAProxyhaproxyload-balancerKeepalivedkeepalivedload-balancerGeneric load balancerload-balancerload-balancerLoad balancerload-balancer-tierload-balancerloxilbloxilbload-balancerNGINXnginxload-balancerTraefiktraefikload-balancerDigitalOcean Load Balancersdigitalocean-load-balancerdigitaloceanload-balancerGoogle Cloud Load Balancinggoogle-cloud-load-balancinggcpload-balancerIBM Cloud Load Balancer for VPCibm-load-balanceribmload-balancerKubernetes Gatewayk8s-gatewayk8sload-balancerIngressk8s-ingressk8sload-balancerServicek8s-servicek8sload-balancerOCI Load Balanceroci-load-balancerociload-balancerNetwork Load Balanceroci-network-load-balancerociload-balancerOpenStack Octaviaopenstack-octaviaopenstackload-balancerLoad Balancer Unit (LBU)outscale-lbuoutscaleload-balancer
Source
# 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

The same page as markdown, for an agent: /catalogue/components/metallb.md