在Kubernetes集群中。主节点是否需要始终在群集节点中单独运行?

我知道可以使主节点执行pod,这是我关心的问题。由于默认配置为不允许主服务器运行pod。我应该改变它吗?采用默认配置的原因是什么?

如果在某些情况下可以执行更改。我想问一下我的集群是否在其中之一中。它只有三个节点具有完全相同的硬件,并且在可预见的将来可能不会增加更多的节点。我认为,由于我拥有三个相等的节点,因此使用我的群集计算能力的1/3来运行kubernetes主服务器会浪费资源。我说的对吗?

[Edit1]

我在Kubernets文档中发现了以下原因。

在Kubernetes集群中。主节点是否需要始终在群集节点中单独运行?

是,安全性,唯一的原因?

XINXIN16666 回答:在Kubernetes集群中。主节点是否需要始终在群集节点中单独运行?

从技术上讲,它不需要在专用节点上运行。但是,要使您的Kubernetes集群运行,您需要您的主人才能正常工作。确保其安全性,稳定性和良好性能的方法之一是使用仅运行主组件而不运行常规Pod的单独节点。如果您将节点与其他Pod共享,则可能有几种影响节点的方法。例如:

  • 其他Pod将影响主服务器的性能(网络或磁盘延迟,CPU缓存等)
  • 它们的迁移会带来安全风险(如果有人设法从其他Pod侵入主节点)
  • 编写不当的应用程序可能会导致节点稳定性问题

虽然可以将其视为浪费资源,但也可以将其视为付出代价的代价,以维护您的master / Kubernetes集群的稳定性。但是,它不必浪费1/3的资源。根据部署Kubernetes集群的方式,可以将不同的主机用于不同的节点。因此,例如,您可以将小型主机用作主节点,将较大的节点用作辅助节点。

,

否,这不是必需的,但强烈建议这样做。安全是一方面,但性能是另一方面。 Etcd通常在那些控制平面节点上运行,如果IOPS用尽,它往往会跳动。因此,运行应用程序代码的流氓吊舱会破坏控制平面的稳定性,从而降低您解决问题的能力。

在运行小型集群以进行测试时,通常会在单个节点上运行所有内容(控制平面和工作负载),以节省金钱/复杂性。

本文链接:https://www.f2er.com/3170058.html

大家都在问