在 kubernetes 中管理裸机上的多个 LAN

在 kubernetes 中管理裸机上的多个 LAN

这是我的设置:

  • 我在裸机上有多个 LAN。
  • 每个 LAN 都有一个硬件路由器,并有一个静态 IP
  • 每个 LAN 的地址范围为 192.168.1。*
  • 外部流量通常会进入硬件路由器,然后需要由 LAN 内的一项服务提供服务

需要 :

  • 有时(在少数用例中)保持 LAN 隔离:例如将应用程序部署到 LAN

选项 :

  • 我应该有 1 个 kubernetes 还是每个 LAN 都有 1 个 kubernetes。每个集群 1 个 kubernetes 对我来说是一场噩梦,所以要管理许多集群;我认为 1 个 kubernetes 总体来说不错。
  • 对于特定于 LAN 的部署,我应该为每个 LAN 创建 1 个命名空间,还是最好使用 kubernetes 标签,或者还有其他选择
  • 外部流量通常通过硬件路由器上的静态 IP 进行,从那里我需要在 LAN 内路由流量(因此入口仅在 LAN 内)。LAN 内的入口将如何工作。
  • 还想对整个集群进行监控、报警和健康检查、特定命名空间或标签过滤。

答案1

(至少)1 个 kubernetes 主节点。每个 LAN 上至少有 1 个工作节点,并按此标记。主机名本身就足够了。networkPolicy 可能有用。通过 Prometheus 进行集群健康监控/警报。

此策略将需要另一个 LAN 仅用于集群通信(至少 2 个接口/主机)。VPN 到该网络也可能是可以接受的...初始化集群时,请确保设置 IP--apiserver-advertise-address--control-plane-endpoint运行时kubeadm init。您可以在引导后修复它,但在启动时修复它更容易。

谨慎选择您的 CNI。我真的只熟悉 flannel(与 MetalLB 结合使用)...

参考:

相关内容