Как решить эту проблему: нет подходящего узла (ограничения планирования не выполняются на 1 узле) в рое докеров при развертывании реестра?

У меня есть рой докеров на виртуальной машине с 2 ядрами 4 ГБ оперативной памяти Centos.

В рое, когда я развертываю частный реестр докеров (реестр 2.6.4), он показывает статус службы как ожидание навсегда. Я использовал docker service ps <<registry_name>>

И когда я проверяю с помощью docker inspect <<task_id>> в сообщении, я получаю это "нет подходящего узла (ограничения планирования не выполняются на 1 узле)".

Я попробовал перезапуск службы и повторное развертывание.

Как это исправить?


person Arul Ranjith    schedule 24.05.2017    source источник
comment
Вы нашли решение для этого?   -  person Tom Knapen    schedule 04.08.2017
comment
Нет, эта установка не сработала. Я переустановил установку докера на машине.   -  person Arul Ranjith    schedule 24.08.2017


Ответы (2)


Я часто сталкиваюсь с этой проблемой, когда есть несоответствие между метками узла, определенными в файле компоновки, и метками, определенными в фактическом узле, либо потому, что я установил неправильную метку (например, опечатка), либо просто забыл пометить узлы вообще.

Чтобы пометить узлы:

1) Для каждого целевого узла выполните:

docker-machine ssh <manager_node_name> 'docker node update --label-add <label_name>=<label_value> <target_node_name>'

2) Убедитесь, что они соответствуют тем, которые определены в файле компоновки.

3) перезапустить службу докеров в узле менеджера

например:

составить файл:

 dummycontainer:
    image: group/dummyimage
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.labels.dummy_label == dummy]
      restart_policy:
        condition: on-failure

предполагая, что я хочу развернуть эту реплику на узле с именем dummy_node:

docker-machine ssh manager_node 'docker node update --label-add dummy_label=dummy dummy_node'

и перезапустите докер в узле менеджера.

Наконец, если вы развертываете, вы должны ожидать, что dummycontainer будет работать в dummy_node, предполагая, что метка была правильно установлена ​​​​на обоих шагах. В противном случае ожидается увидеть ошибку, которую вы получаете.

С наилучшими пожеланиями

person João Matos    schedule 11.12.2017
comment
Привет, спасибо за ответ. Но у меня возникла эта проблема при создании обычного сервиса без стека. - person Arul Ranjith; 13.12.2017
comment
Спасибо за помощь. Моя проблема заключалась в простой опечатке в файле компоновки. mode.role == manager вместо node.role == manager - person Chicken Suop; 10.10.2018

У меня была аналогичная проблема при развертывании службы, проверьте доступность узла с помощью docker node ls и проверьте, не установлены ли узлы на drain и обновите до active с помощью docker node update --availability active <node-id>

что позволит swarm запускать контейнеры на узлах для этой службы.

person Surya Prakash Patel    schedule 20.01.2021