开发者社区> 问答> 正文

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

是否最好有一个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。

展开
收起
k8s小能手 2019-01-09 13:52:34 2047 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    水平自动缩放

    优点

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

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

    优点

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

    如果您配置了大型服务器,则可能会浪费大量资源。
    您需要更精确地计算工作负载的容量(这可能是pro或con,具体取决于您的看法)
    如果您有一组固定的物理服务器,则会遇到CPU,存储,内存等的最终限制。
    通常,是将水平和垂直自动缩放组合在一起。


    一般来说,我会推荐更大的节点,因为它更容易在它们上面放置容器。

    如果你有一个pod resources: {requests: {cpu: 2.5}},你只能将其中一个放在4核节点上,两个放在2x 4核节点上,但你可以将3放在一个8核节点上。

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

    如果您总共分配了16个内核并分配了8个内核,则可能没有单个节点具有4个4-CPU节点的2个以上内核,但您可以保证能够将该容器与2个8-CPU节点相匹配。

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

    Where |-WORKLOAD--| goes?

    ------- USED ------
    ------- USED ------

    但是,在您谈论的特定规模上,我有点担心运行双节点群集:如果单个节点死亡,您的群集容量会减少一半。除非我知道我正在运行需要2.0 CPU或更多CPU的多个pod,否则我可能会倾向于4节点设置,以便在节点发生故障时更具弹性(实际上确实会发生这种情况)。

    2019-07-17 23:24:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
运用新技术解决有状态应用的冷热迁移挑战 迁移策略+新容器运行时 立即下载
基于etcd的超大规模生产级弹性键值存储实践与优化 立即下载
低代码开发师(初级)实战教程 立即下载