Docker Обновление версии двигателя на Docker Swarm управляемых узлов без простоя - PullRequest
0 голосов
/ 29 января 2020

Я бы хотел обновить движок Docker на моих Docker управляемых узлах Swarm (как на рабочих, так и на рабочих) с 18.06 до 19.03 без каких-либо простоев. Я вижу, что в Интернете есть много учебных пособий для непрерывного обновления Dockerized-приложения без простоев, но ничего не связано с обновлением механизма Docker на всех Docker Swarm управляемых узлах.

Действительно ли невозможно обновить Docker демон на Docker Swarm управляемых узлов без простоя? Если это правда, это действительно было бы жаль.

Заранее спасибо замечательному сообществу в SO!

Ответы [ 2 ]

1 голос
/ 30 января 2020

Вы можете обновить менеджеров на месте, по одному за раз. Во время этого процесса обновления вы истощаете узел с помощью docker node update и запускаете обновление до механизма docker с обычными командами ОС, а затем возвращаете узел в активное состояние. Что не сработает, так это добавление или удаление узлов в кластере, пока у менеджеров смешанные версии. Это означает, что вы не можете полностью заменить узлы установкой с нуля во время обновления версий. Все менеджеры должны быть одной и той же версии (обновлены), и тогда вы можете посмотреть на восстановление / замену хостов. В прошлом я видел, что узлы не полностью присоединяются к кворуму менеджера, и после потери достаточного количества менеджеров вы в конечном итоге теряете кворум.

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

0 голосов
/ 29 января 2020

Вы можете опустошить свой узел и после этого обновить версию docker, а затем снова сделать это АКТИВНЫМ.
Повторите этот шаг для всех узлов.

Доступность DRAIN не позволяет узлу получать новые задачи. от менеджера роя. Диспетчер останавливает задачи, выполняющиеся на узле, и запускает задачи реплики на узле с доступностью ACTIVE.

Для получения подробной информации перейдите по этой ссылке: - https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/

...