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

一个 rs 管理的 pod 如何副本数均等的调度到 2 个节点上?

  •  
  •   css3 · 2021-08-24 10:45:20 +08:00 via iPhone · 1363 次点击
    这是一个创建于 1190 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有这么个需求,需要将 1 个 deploy 下的 rs 管理的 pod 分别按相同数量的副本调度,如下所示,有啥合理的办法吗?

    node1: mypod1 mypod2 mypod3 mypod4

    node2: mypod1 mypod2 mypod3 mypod4

    10 条回复    2021-08-24 21:08:16 +08:00
    ericls
        1
    ericls  
       2021-08-24 10:49:35 +08:00
    RS -> Replica Set
    eudore
        3
    eudore  
       2021-08-24 11:00:29 +08:00   ❤️ 1
    pod 污点亲和, 相同 dp 间污点,不同 dp 间亲和,污点让在存在 pod1 的 node 上不再继续调度来 pod1 (避免资源充足时多副本在一个 node ),亲和让 pod2 调度到存在 pod1 的 node 上(让 pod 和关联的 pod 优先在一起)。
    caoyouming
        4
    caoyouming  
       2021-08-24 11:18:25 +08:00
    没办法做到这么精确吧。指定两个 node 也会存在随机分配的情况
    GreatTony
        5
    GreatTony  
       2021-08-24 11:24:07 +08:00
    用两个 deployment 加节点选择器不就搞定了
    hzfyjgw
        6
    hzfyjgw  
       2021-08-24 11:35:52 +08:00
    无状态的 pod 没必要调度这么精准
    css3
        7
    css3  
    OP
       2021-08-24 11:55:29 +08:00
    @lfzyx
    @eudore 新知识,还完全没接触过这个,发帖前看过,不是特别明白。多谢
    dier
        8
    dier  
       2021-08-24 14:45:08 +08:00
    如果你的集群只有这两个节点,而且每个应用的 pod 数量只有两个,那直接配置 pod 之间非亲和就可以了。如果有多个节点,那就对这几个应用配置节点选项,然后再加上 pod 之间非亲和配置就可以实现。如果你觉得官方的英文文档不好理解,其实也可以参考一下国内几大云厂家的文档。
    css3
        9
    css3  
    OP
       2021-08-24 15:46:09 +08:00 via iPhone
    @dier 官方文档支持中文了,主要是概念对我是全新的,也没实操过,要亲和,非亲和细看一下实操下才有更深的认知,多谢老哥点播
    liuhan907
        10
    liuhan907  
       2021-08-24 21:08:16 +08:00 via Android
    @css3
    亲和性解决不了你的问题。亲和可以让 pod 尽量分散,但是无法绝对平衡 pod 分配。我觉得你应该从别的方向入手。比方说,为何同一个部署下会需要这么多 pod ?节点资源只有这么多,增加 pod 并不能增加吞吐。减小 pod 数量到 2 再用亲和就可以。如果说你的一个 pod 只能使用有限的资源导致利用率不满,那就给容器配置资源限制让 k8s 自己根据资源容量调度。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:25 · PVG 14:25 · LAX 22:25 · JFK 01:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.