metallb

Configure MetalLB L2 announcements and IP pools on K3s clusters.

1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/villadalmine/infra --skill metallb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: metallb
Source: https://github.com/villadalmine/infra/tree/main/.agents/skills/metallb
Command: npx skills add https://github.com/villadalmine/infra --skill metallb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps operators configure and troubleshoot MetalLB on bare-metal K3s clusters when they need reliable service exposure without cloud load balancers.

Core Features & Use Cases

  • L2 Load Balancing: Define how MetalLB announces service IPs on the local network.
  • IP Pool Management: Assign and maintain static load balancer address ranges for cluster services.
  • Migration Guidance: Use the built-in mapping to move from MetalLB annotations to Cilium LB-IPAM and L2 announcements.
  • Use Case: If a homelab service stops responding on its external IP, use this Skill to verify the pool, advertisement, and annotation settings, then apply the replacement Cilium configuration when needed.

Quick Start

Ask for the current MetalLB-to-Cilium migration guidance for this cluster and check which service annotations need to be updated.

Frequently Asked Questions about metallb

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure MetalLB L2 advertisements for a bare-metal K3s cluster?

To configure MetalLB L2 announcements for a bare-metal K3s cluster, you need to define accurate L2Advertisement settings that specify how service IPs are announced on your local network.

How do I manage static IP pools for Kubernetes load balancer services?

Managing static IP pools for Kubernetes load balancer services involves assigning and maintaining accurate load balancer address ranges within your MetalLB configuration to ensure reliable service exposure.

Why does my homelab K3s service stop responding on its external IP?

A homelab K3s service stops responding on its external IP when MetalLB pool, L2 advertisement, or service annotation settings are misconfigured, requiring verification of these networking parameters to restore connectivity.

Can I migrate from MetalLB annotations to Cilium LB-IPAM for load balancing?

Yes, you can migrate from MetalLB annotations to Cilium LB-IPAM and L2 announcements using built-in mapping guidance, which is necessary when MetalLB is no longer supported in your environment.

Does this approach work for troubleshooting Gateway API networking issues?

Yes, this approach works for troubleshooting Gateway API networking issues by verifying service IP pool definitions, L2Advertisement settings, and annotation migrations during home-lab networking maintenance.

What are the limitations of using MetalLB for bare-metal load balancing?

A key limitation of using MetalLB for bare-metal load balancing is eventual lack of support, necessitating migration to Cilium LB-IPAM replacements and requiring accurate local network IP range definitions.