Предпочтения размещения Docker против ограничений размещения Docker - PullRequest
0 голосов
/ 08 июня 2019

Я учу Docker.В рамках моего обучения есть одна тема, которую я не понял.Использование настроек размещения в Docker по сравнению с ограничениями в Docker.

Я продолжал поиск в Интернете и спросил многих людей, которые знают об ограничениях, а не о предпочтениях.Я не нашел хорошей ссылки в интернете.Какая польза от настроек размещения в Docker?Когда я должен их использовать?Любой пример?

1 Ответ

0 голосов
/ 11 июня 2019

Настройки размещения позволяют вам "распределять" свои реплики по узлам с определенными тегами, выбирая их максимально разнообразные.

Ограничения будут ограничивать (ограничивать) реплики теми узлами, которые соответствуют ограничению.

Представьте, что у вас 4 сервера в 2 центрах обработки данных (восток, запад), и некоторые серверы имеют SSD-накопитель, а другие нет.

Если вы примените следующие метки к узлам:

node-1: datacenter=us-east, disk=ssd
node-2: datacenter=us-east, disk=ssd
node-3: datacenter=us-west, disk=sas
node-4: datacenter=us-west, disk=nl-sas

Если вы развернете службу с 2 репликами и хотите обеспечить географическую избыточность, вы запустите эту службу следующим образом:

docker service create \
  --replicas 2 \
  --name webserver \
  --placement-pref 'spread=node.labels.datacenter' \
  mywebservice:production

Docker Swarm затем попытается «распределить» 2 реплики по обоим центрам обработки данных, так что в итоге вы получите 1 реплику на узле-1 или узле-2, а другую реплику на узле-3 или узле-4. .

Если у вас есть служба (например, отчетная работа), которая выполняет много операций ввода-вывода в секунду, вы, вероятно, захотите использовать ваши SSD-оборудованные серверы, поэтому вы наложите ограничение на службу:

docker service create \
  --constraint 'node.labels.disk == ssd' \
  myreporter:latest
...