Для чего на самом деле используется HEALTHCHECK при запуске Docker в режиме роя?

Мне сложно понять, для чего на самом деле используется HEALTHCHECK при запуске Docker в режиме роя.

Одно место предполагает , что Docker перезапустит задачу, которая считается нездоровой. В другом месте объясняется, что Docker перестанет отправлять трафик нездоровым задачам. Документация Docker объясняет только, что такое директива HEALTHCHECK и как ее настраивать. Он не пытается объяснить, что происходит, когда задача перестает работать.

Другими словами, я изо всех сил пытаюсь найти четкое и заслуживающее доверия объяснение того, что на самом деле делает HEALTCHECK .

Более того, если посмотреть на Docker REST API , этот конкретный фрагмент данных (является ли задача работоспособным или нет) даже не доступен для задач (хотя он доступен для контейнеров). Это затрудняет использование этой метрики для мониторинга Docker Swarm, поэтому мне не кажется, что это основная цель метрики.

Что на самом деле происходит, когда задача перестает работать при запуске Docker в режиме роя?

5
задан 6 January 2018 в 00:16
1 ответ

Вы настраиваете проверки работоспособности так же, как предлагает ваша первая ссылка. Все эти способы сообщают докеру, какую команду следует запускать, как часто ее запускать и т. Д.

Если вы используете docker run для запуска контейнера, пользовательский интерфейс будет показывать неработоспособность при сбое проверки работоспособности, но докер будет ничего не делать с контейнером. Это зависит от вас или какого-либо решения для мониторинга более высокого уровня.

Если вы используете docker service create (или docker stack deploy ), чтобы создать службу Swarm и эту проверку работоспособности сбой, он остановит / убьет задачу (контейнер) и перепланирует новую задачу, чтобы заменить эту реплику службы. Во время остановки / уничтожения (он пытается изящно остановить его, но завершает работу через 10 секунд, как и все докер-контейнеры) Swarm прекратит накладывать входящий трафик на эту задачу, как и для всех задач остановки.

7
ответ дан 3 December 2019 в 01:23

Теги

Похожие вопросы