минимизировать сбои при обновлении сети weave на kubernetes - PullRequest
0 голосов
/ 08 октября 2019

Я бы хотел обновить свою сеть с версии 2.5.0 до 2.5.2. Я понимаю, что это "так просто", как обновление набора демонов weave ... однако мне было интересно, есть ли способ сделать это с минимальным нарушением работы модулей в системе.

ПростойВ качестве примера можно привести:

  • кордон-узел1
  • сток-узел1 всех модулей
  • обновление переплетения на узле1
  • отмена кордона-узла1

... затем промойте и повторите для каждого узла k8s, пока все не будет сделано.

1 Ответ

0 голосов
/ 09 октября 2019

На основе плетеной сети документация

Обновление наборов демонов

В определении DaemonSet указано Скользящие обновления , поэтому при применении новой версии Kubernetes автоматически перезапускает модули Weave Net по одному.

При использовании стратегии обновления RollingUpdate после обновления шаблона DaemonSet старые модули DaemonSet будут уничтожены, а новый DaemonSetМодули будут создаваться автоматически, контролируемым образом.

Как я мог прочитать в другом ответе stackoverflow

Возможно выполнение скользящих обновленийбез простоев, используя DeamonSet с сегодняшнего дня! Вам нужно иметь как минимум 2 узла в вашем кластере и установить maxUnavailable равным 1 в вашей конфигурации DaemonSet.

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

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

Так что я думаю, что лучший вариант для обновления вашего плагина CNI - это использовать DaemonSet с непрерывным обновлением и установить maxUnavailable равным 1 в вашей конфигурации DaemonSet.

...