kubernetes集群节点可以在地理上分散吗?

kubernetes集群节点可以在地理上分散吗?

我和几个朋友正在考虑建立一个 kubernetes 集群,其中我们的家庭服务器将充当节点。

由于我们的节点将分散在我们的公寓之间,我担心这会在以下方面产生问题:

  1. 向外公开服务,因为节点的公共 IP 会有所不同。

  2. 分布式存储服务之间的网络速度和延迟,因为我们依靠 ISP 网络连接在节点之间进行通信。

我们的上传/下载速度都在 100 到 250Mbit/s 左右,但处理大存储量可能仍然是一个问题。

当我们以这种方式扩展我们的节点时,我们面临哪些挑战?

是否有任何特定的功能、教程或指南可供我阅读,以了解有关如何解决此问题的更多信息?

我们的想法是否可行?

我个人对 kubermetes 还很陌生,但我对它感到非常兴奋。

我很感谢任何答复。

答案1

将此答案发布为社区维基,因为问题中所描述的主题如果没有确切说明,可能会很广泛并且不会有明确的答案。

首先,您需要了解集群的确切要求。您想要构建哪种控制平面。有多个选项(单主控、多主控)。您可以参考官方文档:

如果您想解决一项特定的任务,最好将其包含在问题中,因为不同工作负载的潜在问题可能有所不同。

首先,您可以看看kubeadmKubernetes 集群的要求:


您可能会遇到的一些潜在问题:

  • 控制器和服务旨在在 Pod 之间均匀分布流量。当流量跨越所有节点时,您可能会遇到网络延迟问题。

  • Kubernetes 组件已为其操作预定义超时。对于分布式集群,您需要对其进行大量调整,以实现可预测的工作,而不会在集群操作期间出现超时。

  • 下一个潜在问题:NAT。所有 Kubernetes 节点都应该与其他节点连接无需任何地址转换。您可能会遇到需要在站点之间建立可靠的 VPN 连接的情况。

  • 在构建高可用性 Kubernetes 集群时,您可能会遇到问题ETCD。特别是成员之间的同步ETCD。任何连接丢失都可能导致仲裁丢失。没有仲裁,对集群的任何更改都是不可能的,并且可能会破坏集群。


至于存储,我认为站点之间的数据复制可能会存在问题(站点之间的延迟、站点之间发送的数据量、使用的存储解决方案类型、确保所有 pod 都能同时访问相同的数据)。您可以查看 Kubernetes 中存储概念的官方文档:

相关内容