metallb 使用技巧

MetalLB 是 Kubernetes 裸金属集群的 LoadBalancer 实现,让 type: LoadBalancer 的 Service 获得真实外部 IP,避免长期处于 pending。文中强调:生产环境不应将 Ingress 的 LoadBalancer IP 复用为 master 节点的 VIP,否则高并发业务流量会冲击 master 稳定性,建议为 Ingress 单独配置虚拟 VIP。针对多个服务(如 Ingress-nginx、ProxySQL、Kibana)共用同一对外 VIP 的需求,MetalLB 默认一个 Service 独占 IP,但可通过在 Service 注解中添加相同的 `metallb.universe.tf/allow-shared-ip` 组名来启用共享 IP 功能;组名相同的 Service 会自动共享同一 VIP,用不同端口区分业务,互不干扰。该做法可解决地址池不足导致的 pending 问题,并简化 IP 规划。

metallb 使用技巧

使用 K8S 或 Docker 快速部署 metallb 与 openelb

本文介绍如何用 Ingress 配合负载均衡器替代 NodePort,提升服务可维护性与安全性。前置条件包括已部署 Kubernetes 集群;若 kube-proxy 使用 IPVS 模式,需启用严格 ARP(strictARP: true)。部署流程:先安装 MetalLB(v0.13.9),创建 IPAddressPool 地址池(172.31.0.240-250)并开启 L2Advertisement;再部署 ingress-nginx,使其识别负载均衡 IP。随后创建 Deployment、Service(ClusterIP)和 Ingress 测试访问,注意 Ingress 注解需添加 kubernetes.io/ingress.class: nginx。通过本地 hosts 将域名指向负载均衡 IP,成功访问 Nginx 欢迎页,验证了 MetalLB 与 Ingress 的对接正常。整体方案实现域名请求到服务的智能路由,避免暴露 NodePort 带来的安全和管理问题。

使用 K8S 或 Docker 快速部署 metallb 与 openelb
弹