Tink vs MetalLB
MetalLB is the load balancer for bare-metal Kubernetes. It also exposes controller, speaker, and allocator gauges for Prometheus. That is not a mechanic. Tink installs in one command, watches the Linux server, explains what is wrong, and helps you fix it.
MetalLB announces IPs. Tink answers “why is this VPS sick?”
Accidental sysadmins land on MetalLB because every k3s homelab guide ships a speaker DaemonSet. Then the volume fills, nginx dies, and Grafana still shows announced IPs — no PromQL matched host fill. A filling /var is a Tink warning; it is not an IPAddressPool job unless the VIP pool itself is the failure.
Tink is the other job: detect the issue on the machine, say why it happened in plain English, propose the command, and run it only after you approve. Keep scraping MetalLB if you already operate bare-metal Kubernetes and need Service LB SLOs. Use Tink if you run Linux servers and want a mechanic.
| Feature | Tink | MetalLB |
|---|---|---|
| Setup time | 30 seconds (one curl | sh command) | Hours — MetalLB controller, speaker DaemonSet, IPAddressPool, L2Advertisement or BGPPeer, and prometheus.yml scrape |
| What you get | Working monitoring, diagnosis, and approved fixes | A load-balancer scrape target. Host disk fill, nginx, Postgres, and certs stay your problem until PromQL fires and you SSH in |
| Pricing | Free (Scout) / $9 / $29 per machine per month | Open-source (Apache 2.0). You still pay the cluster, BGP peers or ARP noise, Prometheus, Grafana, and the engineer who owns speaker pods |
| Hidden costs | None — fully managed | Split-brain ARP, exhausted IPAddressPools, BGP session flaps, speaker CrashLoops, and a second tool to tell you the box is sick |
| Monitoring approach | Agent on the server — CPU, disk, services, logs, certs, ports | metallb_allocator_addresses_in_use_total and speaker gauges. MetalLB does not watch host fill or a quiet cert unless you added another exporter |
| Configuration | None after install — heuristics and AI | IPAddressPool CIDRs, L2Advertisement vs BGPAdvertisement, BGPPeer ASNs, and which PromQL actually pages you |
| Plain-English diagnosis | Yes — AI explains root cause, impact, and fix | You graph metallb_bgp_session_up in Grafana, then SSH in to change the box |
| Fix execution | Proposes and executes approved commands with an audit trail | Metrics only — MetalLB cannot free disk, restart nginx, or rotate a cert |
| Alerting | Built-in across 8 channels | Not a MetalLB job — Prometheus rules and Alertmanager have to fire |
| Predictive alerts | Yes — disk fills in ~6 days, memory and CPU trends | Not a MetalLB job — an LB scrape does not forecast a quiet volume filling up |
| SSH brute-force detection | Built-in — parses auth.log every scan | Never — MetalLB does not read auth.log, journald, or host firewall state |
| Machine offline detection | Agent presence monitoring with multi-channel alerts | Silence if the agent dies — unless you built an up{job="metallb-speaker"} deadman check |
| Public status page | Shareable URL with 90-day history | None — MetalLB has no customer-facing status page |
| Weekly fleet digest | Automated Monday digest + daily brief when issues are open | None — an allocator scrape target is not a plain-English fleet narrative |
| On-call tracking | Built-in /oncall command + incident acknowledgment | Not included — wire Alertmanager into PagerDuty or another incident tool |
| Conversation interface | Telegram, WhatsApp, web dashboard, CLI | kubectl and Grafana. No mechanic you text when /var filled and speaker still announced IPs |
| Learning curve | None — works after install | Steep — Layer 2 vs BGP, IPAddressPool, speaker election, PromQL, and which announced-IP counter actually pages |
| Best for | Freelancers, small teams, accidental sysadmins (1-50 Linux servers) | Teams that already run bare-metal Kubernetes and need Service load-balancer scrapes, not a sick-VPS mechanic |
When MetalLB metrics are the right choice
Keep scraping MetalLB when you already want that exact job:
- Bare-metal Service LBs — you need IPAddressPool allocation, Layer 2 ARP, and BGP session counters, not a mechanic.
- VIP density at cluster scale — speaker election and BGPPeer ASNs matter more than host nginx, certs, and SSH on a quiet VPS.
- An existing Prometheus + Grafana stack — MetalLB already clusters, speakers already scrape, and someone owns the VIP CIDR.
- Hosts that only page on MetalLB — you already run exporters and PromQL, not a sick-box SSH loop.
The real cost of “just scrape MetalLB”
MetalLB is a serious bare-metal load balancer. A working ops loop for five Linux boxes is not:
- A healthy metallb_allocator_addresses_in_use_total still means you SSH in and change the box by hand
- Host fill, nginx, certs, and SSH brute-force never appear unless Prometheus scraped those signals and a rule fired
- A filling /var is a Tink disk warning on every scan — MetalLB will stay quiet until the VIP pool itself is the failure
- A single VPS with a dead speaker still needs a mechanic, not another LB scrape
For a 5-server team, Tink Mechanic at $45/month is cheaper than MetalLB plus the engineer who keeps Prometheus scrapes and speaker BGP rules alive, and every scan includes a diagnosis a quiet Grafana board will not type.
No ARP homework. No silent host. One command install.
Start MechanicAlso compare: Tink vs Amazon VPC CNI · Tink vs Calico · Tink vs Prometheus