Установите жесткие ограничения процессора в Docker Swarm - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь установить жесткие пределы процессора и памяти в Docker Swarm, состоящем из трех виртуальных машин.Я использую конфигурации процессора и ограничения памяти, предложенные докерской документацией в моем docker-compose.yml файле.Мой docker-compose.yml файл выглядит так:

version: "3"
services:
  app:
    # replace username/repo:tag with your name and image details
    image: user/testing:part2
    deploy:
      replicas: 10
      resources:
        limits:
          cpus: "0.5"
          memory: 4M    
      restart_policy:
        condition: on-failure

Процессор и ресурсы памяти моего хост-компьютера и виртуальных машин показаны на рисунке ниже.Мой хост-компьютер имеет 4 ЦП, а все виртуальные машины имеют 1 ЦП каждая.

enter image description here

Чтобы выяснить, могут ли контейнеры Docker ограничивать свои ресурсыЯ запускаю тестовую программу с infinite loop в моем рое.Один из снимков из моих экспериментов показан ниже.Он показывает docker stats результаты на трех виртуальных машинах (VM1: внизу слева, VM2: вверху справа, VM3: внизу справа).

enter image description here

Просмотррезультаты, у меня есть несколько вопросов.

  1. Как процессор ограничен 50% для каждого контейнера?
  2. Каждая виртуальная машина имеет 1 ЦП, тогда как на одной виртуальной машине,% загрузки ЦП док-контейнеров превышает 100%?
  3. На изображении выше у меня запущено 7 док-контейнеров исумма CPU% для всех них составляет 22+21+88+52+66+78+76 = 403 ок.это означает, что рой использует 4 ядер вместо 3.Возможно ли, чтобы докер позволял рою использовать ресурсы ЦП хост-машины, если это необходимо?

Кто-нибудь может ответить на эти вопросы?Спасибо.

...