Middle+
27
0
questionbank

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

Answer from sobes.tech neural network

После изменения версии приложения в 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.

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

Register or sign in to get access to full answers for all questions from the question bank.

kubernetesdeploymentreplicasetrolling-updateversioningapplication-lifecycle