Что следующая стратегия развертывания подразумевает в kubernetes? - PullRequest
0 голосов
/ 24 июня 2019

Я использую стратегию развертывания по умолчанию для своей службы балансировки нагрузки в kubernetes, и когда я описываю свое развертывание, стратегия выглядит следующим образом:

Replicas:               2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType:           RollingUpdate

MinReadySeconds: 0 RollingUpdateStrategy: 1 макс недоступен, 1 макс. Помпаж

Так что согласно описанию не должно быть никаких простоев. Тем не менее, сервис по-прежнему простаивает. Как я могу убедиться, что время простоя равно нулю?

1 Ответ

1 голос
/ 24 июня 2019

Из того, что я вижу, вы используете as fast as possible подход Rolling Updates.

Хотя это хороший подход, лучше использовать Replicas: 3, потому что вы можетев результате обновления на 2 pods.

Вы должны реализовать ReadinessProbe, который может выглядеть следующим образом:

readinessProbe:  
  httpGet:  
     path: /  
     port: 8080  
     initialDelaySeconds: 5  
     periodSeconds: 5  
     successThreshold: 1
  • initialDelaySeconds: Количество секунд после запуска контейнера до запуска датчиков готовности.
  • periodSeconds: Как часто следует выполнять проверку.По умолчанию установлено значение 10 секунд.
  • successThreshold: минимальные последовательные успехи для датчика, считающегося успешным после сбоя.По умолчанию 1.

Я также рекомендую прочитать Включить Rolling-обновления в Kubernetes с нулевым временем простоя , поскольку они хорошо объясняют использование Rolling-обновлений.

...