gpt4 book ai didi

docker - Docker群可以将服务平均分配给所有节点吗?

转载 作者:行者123 更新时间:2023-12-02 19:35:01 26 4
gpt4 key购买 nike

我有:

  • 三个1个swarm管理器和2个swarm工作节点
  • 彼此连接的应用程序集群

  • docker-compose.yml
    services:
    service1:
    ports:
    - 8888:8888
    environment:
    - ADDITIONAL_NODES=service2:8889,service3:8890
    service2:
    ports:
    - 8889:8889
    environment:
    - ADDITIONAL_NODES=service1:8888,service3:8890
    service3:
    ports:
    - 8890:8890
    environment:
    - ADDITIONAL_NODES=service1:8888,service2:8889

    如果我运行 docker stack deploy -c docker-compose.yml server:
  • 群集管理器(service1),群集节点1(service2),群集节点2(service3)
  • 群集管理器(service1,service2,service3),群集节点1(service1,service2,service3),群集节点3(service1,service2,service3)

  • 结果是哪一个?

    如果是 2,如何使用docker swarm像 1一样进行部署?我需要使用docker swarm,因为我也在使用docker网络覆盖。

    如果是 1,那么我的服务如何分配?它是“平均”分布的吗?如果为真,那么它从哪个 Angular “平均”分布?

    最佳答案

    Docker群具有一些逻辑,可用于确定哪些服务在哪些节点上运行。现在可能是您所期望的100%,但他们是从事此工作的聪明人,可能会考虑您不需要的东西(例如CPU负载,可用的内存...。)

    目标是像示例1一样平均分配负载。如果某些服务由于某种原因不能在一个节点上启动(例如您使用专用注册表,但未在堆栈部署中指定--with-registry-auth),则服务将全部在那些在其他节点上失败后可以运行它们的节点上启动。

    从个人经验来看,我可以告诉您,它很好地分散了整个团队的工作,但不能保证最终提供哪种服务。

    如果要强制在哪里运行服务,请使用约束。

    关于docker - Docker群可以将服务平均分配给所有节点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46462518/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com