V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX  ›  Kubernetes

请问大家如何确定一个无状态应用何时应该横向扩容、何时应该纵向扩容?

  •  
  •   zhoudaiyu · 2022-08-05 20:17:25 +08:00 · 1601 次点击
    这是一个创建于 834 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用部署在 k8s 中举例,一个应用 A ,分给它的 limit 为:CPU:4 ,内存 8G ,有 4 个副本,这是一个偏向 I/O 密集型的应用,那么在什么情况下,应该对 A 进行横向扩容(增加副本数),什么情况下应该纵向扩容(增加单个 Pod 的 CPU 和内存)呢?有什么判断依据吗?
    7 条回复    2022-08-09 14:09:38 +08:00
    my3157
        1
    my3157  
       2022-08-05 20:22:48 +08:00 via Android
    3 以内,优先横向,3 以上,优先纵向,另外,一般轻应用,单个 Pod 控制在 8c16g 以内,如果超过,横向扩
    zhoudaiyu
        2
    zhoudaiyu  
    OP
       2022-08-05 20:30:09 +08:00
    @my3157 #1 您说的 3 是指? CPU 、内存还是副本呢
    my3157
        3
    my3157  
       2022-08-05 20:36:24 +08:00 via Android
    @zhoudaiyu #2 副本数,只是经验之谈
    crysislinux
        4
    crysislinux  
       2022-08-05 20:36:52 +08:00 via Android
    我觉得 io 密集的就横向啊,这种情况纵向也不太顶用吧
    bthulu
        5
    bthulu  
       2022-08-06 13:33:25 +08:00
    io 密集型, 还无状态, 主扩带宽, 次扩 CPU, 再次内存.
    纵向还是横向扩容, 看性价比. 比如纵向扩容一倍, 价格翻 4 倍, 横向扩容一个副本, 价格仅翻一倍, 那就横向扩容.
    partystart
        6
    partystart  
       2022-08-06 22:57:41 +08:00
    纵向扩容: 加内存 换 CPU 换硬盘
    横向扩容: 多部署服务实例,通过负载均衡避免单点故障

    等通过部署实例 & 机器资源榨干之后 就可以考虑换硬件 加机器了
    yyttrr
        7
    yyttrr  
       2022-08-09 14:09:38 +08:00
    得考虑很多,节点大小,资源高峰周期,cpu 与内存比例,启动时间等等
    重视快速扩容完成,还是整体成本尽量低都是不同的策略
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2635 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:31 · PVG 18:31 · LAX 02:31 · JFK 05:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.