大量工作节点v /少数具有更多资源的工作节点

时间:2019-01-04 17:18:24

标签: kubernetes

是否最好让Kubernetes集群的4个节点的资源为4 CPU,16 GB RAM或2个节点的集群的资源为8 CPU和32 GB RAM?

在Kubernetes概念中,如果用户进行水平缩放而不是垂直缩放,将会获得什么好处。我的意思是说,假设我们要运行4个Pod,那么最好是将2个节点的群集资源8 CPU和32 GB RAM或4个节点的群集资源4 CPU和16 GB RAM。

2 个答案:

答案 0 :(得分:1)

通常,我会建议使用较大的节点,因为在其上放置容器更容易。

如果您有一个resources: {requests: {cpu: 2.5}}的Pod,则只能将其中一个放置在4核节点上,将两个放置在2x 4核节点上,但是可以将3放置在单个8核节点上

+----+----+----+----+    +----+----+----+----+
|-WORKLOAD--|       |    |-WORKLOAD--|       |
+----+----+----+----+    +----+----+----+----+

+----+----+----+----+----+----+----+----+
|-WORKLOAD--|--WORKLOAD--|-WORKLOAD--|  |
+----+----+----+----+----+----+----+----+

如果您总共分配了16个核心并分配了8个核心,则可能没有单个节点拥有超过2个可用4个4-CPU节点的可用核心,但是可以保证可以将那个Pod与2个8-CPU配合使用节点。

+----+----+----+----+    +----+----+----+----+
|-- USED -|         |    |-- USED -|         |
+----+----+----+----+    +----+----+----+----+
+----+----+----+----+    +----+----+----+----+
|-- USED -|         |    |-- USED -|         |
+----+----+----+----+    +----+----+----+----+

Where   |-WORKLOAD--| goes?

+----+----+----+----+----+----+----+----+
|------- USED ------|                   |
+----+----+----+----+----+----+----+----+
+----+----+----+----+----+----+----+----+
|------- USED ------|                   |
+----+----+----+----+----+----+----+----+

不过,在您所讨论的特定规模上,我会担心运行2节点集群:如果单个节点死亡,您将失去一半的集群容量。除非我知道我正在运行多个需要2.0 CPU或更多CPU的Pod,否则我可能会倾向于这里的4节点设置,以便在发生节点故障的情况下具有更大的弹性(而实际上确实如此)。

答案 1 :(得分:0)

水平自动缩放

  • 优点

    • 由于您正在扩展VM或/和服务器,因此可能具有更多的容量。您实质上是在扩展集群。
    • 理论上,由于您将工作负载分散在不同的物理服务器上,因此冗余性更高。
  • 缺点

    • 理论上,它速度较慢。这意味着在同一台机器上配置服务器和VM的速度要比Pod /容器慢(用于垂直自动缩放)
    • 此外,在扩展时,您需要同时配置服务器/虚拟机和容器/吊舱。
    • 在普通的裸机基础架构/服务器上不能很好地工作。

垂直自动缩放

  • 优点

    • 理论上,如果配置了大型服务器,则自动缩放应该更快。 (此外,响应速度更快)
    • 如果您有数据密集型应用,则可能会受益于在同一台计算机上运行的工作负载。
    • 如果您还有一些未使用的裸机服务器,那就太好了。
  • 缺点

    • 如果配置了大型服务器,则可能浪费很多资源。
    • 您需要更精确地计算工作负载的容量(取决于您的看法,这可能是赞成还是反对)
    • 如果您有一组固定的物理服务器,则最终会遇到CPU,存储,内存等限制。

通常,您希望同时使用水平和垂直自动缩放。