kubectl Rolling-update, время простоя которого составляет несколько секунд

Я использую Google Container Engine с кластером, использующим Kubernetes 0.20.2.

В этом кластере у меня есть 1 контроллер репликации (2 реплики) и 1 служба с типом спецификации, определенным как LoadBalancer (базовая настройка).

Здесь все работает нормально; Затем я хочу выполнить обновление до другого изображения с помощью команды kubectl:

kubectl rolling-update my-rc \
  --image=gcr.io/project/gcloudId:my-image-updated \
  --update-period=0m

Насколько я понял, выполнение этой команды должно гарантировать нулевое время простоя. К сожалению, я проводил несколько тестов, используя команду curl в цикле, и у меня все еще был простой в несколько секунд. Есть идеи, почему это происходит?


person Etienne Tremel    schedule 20.07.2015    source источник


Ответы (1)


Флаг --update-period сообщает Kubernetes, как долго ждать между каждым модулем, для которого выполняется обновление. Если для периода обновления установлено значение 0, Kubernetes обновит все модули сразу, что приведет к кратковременной недоступности на время запуска новых модулей. Вы должны установить --update-period как минимум столько, сколько требуется для инициализации каждого из ваших модулей. Значение по умолчанию (1 минута) подойдет почти для всех случаев, если вы не хотите об этом думать.

person Alex Robinson    schedule 20.07.2015
comment
Спасибо за ответ, странно определять этот период обновления, потому что если у вас есть огромный образ, который нужно загрузить из медленного частного реестра Docker, вы должны угадать, сколько времени потребуется, чтобы его загрузить? Или это всего лишь инициализация, Kubernetes знает, когда образ готов и работает? Кроме того, я не нашел способа установить привязку сеанса для LoadBalancer, есть идеи? - person Etienne Tremel; 21.07.2015
comment
Имеет значение только время инициализации после запуска контейнера. - person Alex Robinson; 21.07.2015
comment
В спецификации службы есть поле sessionAffinity, в котором можно настроить привязку балансировщика нагрузки. - person Alex Robinson; 21.07.2015