一千萬個為什麽

搜索

Docker swarm自定義調度程序



我們有一個6節點的docker swarm,我們經常會看到錯誤的調度(幹凈失衡)。

我已經研究過這個主題了,似乎獨立的docker swarm用於允許一種方法為其調度程序選擇不同的策略,但是由於swarm被集成到docker中,它只支持擴展策略。在我們的例子中,由於我們的內存密集,我們只會考慮內存而不是CPU /#容器作為指標。

我們怎麽能實現這個目標?

轉載註明原文: Docker swarm自定義調度程序

一共有 1 個回答:

調度程序本身不可交換。但是,您可以在服務中的容器上設置內存限制和預留

version: '3'
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
        reservations:
          cpus: '0.25'
          memory: 20M

如果容器超過限制,則約束將終止容器,即使主機有更多可用內存。預留將確保主機上的內存量可用於容器。