Middle+
26
0
questionbank

Что произойдет, если мы развернём приложение с помощью деплоя и затем изменим версию приложения в репликасете?

Ответ от нейросети sobes.tech

После изменения версии приложения в Deployment ресурс ReplicaSet, связанный с этим Deployment, обновится. Deployment создаст новый ReplicaSet с новой версией образа контейнера. Старый ReplicaSet постепенно масштабируется вниз, а новый ReplicaSet масштабируется вверх. Этот процесс называется rolling update (скользящее обновление) и выполняется автоматически по умолчанию.

Конкретные шаги:

  1. Пользователь или CI/CD система обновляет Deployment.
  2. Deployment создает новый ReplicaSet с spec, содержащим новую версию образа.
  3. Новый ReplicaSet начинает создавать поды с новой версией.
  4. Как только часть новых подов перейдет в состояние Ready, Deployment начинает масштабировать вниз старый ReplicaSet, удаляя поды со старой версией.
  5. Процесс продолжается до тех пор, пока все поды не будут под управлением нового ReplicaSet с новой версией.
  6. Старый ReplicaSet остается, но с желаемым числом реплик равным 0.

Это обеспечивает нулевое время простоя при обновлении приложения (при условии достаточных ресурсов и корректной готовности подов) и позволяет легко откатиться на предыдущую

После изменения версии приложения в Deployment ресурс ReplicaSet, связанный с этим Deployment, обновится. Deployment создаст новый ReplicaSet с новой версией образа контейнера. Старый ReplicaSet постепенно масштабируется вниз, а новый ReplicaSet масштабируется вверх. Этот процесс называется rolling update (скользящее обновление) и выполняется автоматически по умолчанию.

Конкретные шаги:

  1. Пользователь или CI/CD система обновляет Deployment.
  2. Deployment создает новый ReplicaSet с spec, содержащим новую версию образа.
  3. Новый ReplicaSet начинает создавать поды с новой версией.
  4. Как только часть новых подов перейдет в состояние Ready, Deployment начинает масштабировать вниз старый ReplicaSet, удаляя поды со старой версией.
  5. Процесс продолжается до тех пор, пока все поды не будут под управлением нового ReplicaSet с новой версией.
  6. Старый ReplicaSet остается, но с желаемым числом реплик равным 0.

Это обеспечивает нулевое время простоя при обновлении приложения (при условии достаточных ресурсов и корректной готовности подов) и позволяет легко откатиться на предыдущую

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

kubernetesdeploymentreplicasetrolling-updateversioningapplication-lifecycle