минимизировать перебои при обновлении плетеной сети на кубернетах

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

На мой взгляд, простой пример:

  • кордон node1
  • сливной узел1 всех контейнеров
  • обновить плетение на узле 1
  • uncordon node1

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


person yee379    schedule 08.10.2019    source источник


Ответы (1)


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

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

Определение DaemonSet указывает непрерывные обновления, поэтому, когда вы примените новую версию, Kubernetes будет автоматически перезапускать модули Weave Net один за другим.

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

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

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

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

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

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

person Jakub    schedule 09.10.2019