Воссоздание — самая простая стратегия развертывания. Развертывание воссоздания пойдет на что -то подобное. Версия 1 приложения развернута. Развертывание начинается, все стручки, управляющие версией 1 приложения, удалены. Сразу же последует версия 2 приложения, которое развертывается. Самая большая ничья с помощью развертывания воссоздания — это небольшое окно простоя.
Ручное развертывание воссоздания
Самолекущая природа Kubernetes делает ручное развертывание воссоздания очень простым. Поскольку репликация Controller или Replicaset, управляющие стручками вашего приложения, заменит прекращенные стручки, вы можете просто изменить их шаблон перед удалением стручков, и он будет развернуть новые стручки для вас, используя обновленное изображение, указанное в шаблоне.
Воссоздать развертывание с ресурсом развертывания Kubernetes
Ресурс развертывания Kubernetes предоставляет декларативные обновления для ваших приложений. В предыдущем примере вам пришлось продумать процесс обновления. Вы должны были выяснить, какие команды выполнять, и в каком порядке их запустить. С помощью ресурса развертывания вы определяете стратегию, которую вы хотите использовать, и устанавливаете поведение, которое вы хотите увидеть, и Kubernetes выясняет остальное. Преобразование нашего обновления для использования ресурса развертывания по сравнению с использованием Kubectl выглядит так.
Ресурс развертывания можно рассматривать как обертку вокруг вашего контроллера репликации или репликат. По умолчанию стратегия ресурсов развертывания заключается в выполнении обновления. Вы можете изменить это, определив .spec.strategy.type
как воссоздан. Справочная строка 13 в вышеупомянутом манифесте.
Что случилось?
При использовании стратегии развертывания воссоздания в Kubernetes происходят следующие действия.
- Ресурс развертывания создал репликас, который использовал V1 изображения контейнера.
- Replicaset создал 3 стручки с использованием изображения v1.
- Изображение в развертывании было изменено на V2.
- Kubernetes заметил это изменение и создал новую репликату, которая использует V2 изображения.
- Kubernetes устанавливает репликас, используя количество реплик V1 до 0.
- V1 Replicaset удалил все свои стручки.
- Kubernetes изменил количество реплик на репликате V2 на 3.
- V2 Replicaset создал 3 новых стручка, все с использованием V2 изображения.
- Обновите!
Когда использовать
- Ваше приложение может выдержать короткое время простоя.
- Когда ваше приложение не поддерживает новые и старые версии вашего приложения, работающего одновременно.
Лаборатории и образцы кода
Все образцы манифестов и затрат можно найти в этом репо или в GIT, связанных в посте.
Duffney/Kubernetes-Update-Apps-The-Hard-Way
Упражнения в ручном обновлении приложений, работающих на Kubernetes
Оригинал: «https://dev.to/cloudskills/kubernetes-deployment-strategy-recreate-3kgn»