我知道可以使主节点执行Pod,这是我关心的问题。由于默认配置为不允许主服务器运行pod。我应该改变它吗?采用默认配置的原因是什么?
如果在某些情况下可以执行更改。我想问一下我的集群是否在其中之一中。它只有三个节点具有完全相同的硬件,并且在可预见的将来可能不会增加更多的节点。我认为,由于我拥有三个相等的节点,因此使用我的群集计算能力的1/3来运行kubernetes主服务器会浪费资源。我说的对吗?
[Edit1]
答案 0 :(得分:2)
从技术上讲,它不需要在专用节点上运行。但是,要使您的Kubernetes集群运行,您需要您的主人才能正常工作。确保其安全性,稳定性和良好性能的方法之一是使用仅运行主组件而不运行常规Pod的单独节点。如果您将节点与其他Pod共享,则可能有几种影响节点的方法。例如:
虽然可以将其视为浪费资源,但也可以将其视为付出代价的代价,以维护您的master / Kubernetes集群的稳定性。但是,它不必浪费1/3的资源。根据部署Kubernetes集群的方式,可以将不同的主机用于不同的节点。因此,例如,您可以将小型主机用作主节点,将较大的节点用作辅助节点。
答案 1 :(得分:1)
否,这不是必需的,但强烈建议这样做。安全是一方面,但性能是另一方面。 Etcd通常在那些控制平面节点上运行,如果IOPS用尽,它往往会跳动。因此,运行应用程序代码的流氓吊舱会破坏控制平面的稳定性,从而降低您解决问题的能力。
在运行小型集群以进行测试时,通常会在单个节点上运行所有内容(控制平面和工作负载),以节省金钱/复杂性。