抛弃 HAProxy(在我的家庭实验室中)

主要观点:作者一直被单点故障困扰,其家庭实验室的 HAProxy 虚拟机就是单点故障,若虚拟机或物理机不可达,会影响对家庭实验室 Kubernetes 集群中服务的访问及节点间通信。作者知晓 keepalived 和虚拟 IP(VIP)等,但拖延未在冗余 HAProxy 实例上实施。MetalLB 曾在其考虑范围内,后在无聊时决定部署,在二层模式下部署即成功,解决了 IPv4 问题,但 IPv6 仍在处理中。接着处理 kube-apiserver 访问,所选 Kubernetes 发行版支持 VIP ,配置后生效。最后是 Tailscale,其原生 Kubernetes 操作符设置简单,与 kube-apiserver 认证及作为 Contour 部署的 LoadBalancer 提供程序都很便捷,部署 MetalLB、Talos VIP 和 Tailscale 操作符后关闭 HAProxy 虚拟机未出现问题,还促使作者开始研究边界网关协议(BGP),强调了 DNS 在其中的重要性,家庭实验室集群现在运行良好,对服务器离线影响集群访问或操作的担忧减少。

关键信息:

  • 家庭实验室的 HAProxy 虚拟机为单点故障,影响集群服务和节点通信。
  • 知晓 keepalived 和 VIP 但未实施,MetalLB 曾在考虑范围。
  • MetalLB 在二层模式下部署成功,解决 IPv4 问题,IPv6 仍在处理。
  • 所选 Kubernetes 发行版支持 VIP ,配置后 kube-apiserver 访问生效。
  • Tailscale 操作符设置简单,与集群配合良好。
  • 关闭 HAProxy 虚拟机未出现问题,促使作者研究 BGP ,强调 DNS 重要性。

重要细节:

  • 原 HAProxy 虚拟机所在 Proxmox 实例未使用 zfs ,无法复制。
  • Tailscale 无良好的 VIP 实现方式,需考虑子网路由器,且其子网路由器的高可用性不确定。
  • 部署 MetalLB 时,将 Contour 服务从 NodePort 切换为 LoadBalancer 并测试分配的 IPv4 地址。
  • Tailscale 原生 Kubernetes 操作符可与 kube-apiserver 认证及作为 Contour 部署的 LoadBalancer 提供程序。
  • 关闭 HAProxy 虚拟机后,家庭实验室集群运行良好,对单点故障的担忧减少。
  • 仅需更新少数 A 和 AAAA 记录,DNS 作用重要。
阅读 11
0 条评论