2026年2月

在云环境中,Kubernetes 控制面的高可用通常交给云厂商的 LoadBalancer 来解决。但在以下场景中,这条路并不成立:

  • 私有 IDC / 裸金属集群
  • 边缘计算、离线环境
  • 公有云迁回自建机房(缺少云 LB、云 SLB)
  • 希望减少组件复杂度、避免引入 keepalived / VRRP

我之前有了解过 sealos,它提供了一种非常“反常规但优雅”的方案:
不做 VIP,不做 VRRP,而是用 IPVS + LVScare 在每个节点本地维护 kube-apiserver 的高可用访问能力。

本文就是在这一思路启发下,对 LVScare 作为 Kubernetes 高可用组件 的一次整理与实践总结。

传统 Kubernetes API Server 高可用方案回顾

方案一:云 LoadBalancer

优点:

  • 简单、稳定
  • 对使用者透明

缺点:

  • 强依赖云厂商
  • 私有化 / IDC 场景不可用

方案二:VRRP + keepalived(VIP)

           VIP:6443
                 |
      +----------+------------+
      |                       |
    Nginx   <-keepalived->   Nginx(Backup)
      |
  +---+--------------------------+
  |               |              |
apiserver      apiserver     apiserver

问题在于:

  • 需要额外的 LB 节点
  • 需要维护 VRRP / VIP
  • 架构组件偏重

sealos 的思路:去中心化的 API Server 高可用

sealos 提出的核心思路是:

不再提供一个“中心入口”,而是让每个节点都具备访问“所有 API Server 的能力”。

- 阅读剩余部分 -