Перейти к содержимому

Стратегии развертывания Kubernetes: теория и практика #devops #k8s #deployment

Rohan Rustagi

0:00 / 0:00

Стратегии развертывания Kubernetes: теория и практика #devops #k8s #deployment

570 просмотров · 2 года назад
Rohan Rustagi
1,24 тыс. подписчиков
570 просмотров · 2 года назад
Стратегии развертывания Kubernetes: теория и практическая демонстрация #devops #k8s #deployment Используемый репозиторий Github: https://github.com/RohanRusta21/k8s-d... Временные метки: Теория: 00:00 Практика: 16:25 Видео по автоматизированному развертыванию Argo: 1. Канареечное развертывание:    • Deploy Applications using Canary Deploymen...   2. Сине-зеленое развертывание:    • Deploy Applications using BlueGreen Deploy...   Kubernetes (K8s) предлагает несколько стратегий развертывания для управления процессом обновления и развертывания приложений в кластере. Каждая стратегия отвечает различным потребностям, обеспечивая баланс между нулевым временем простоя, эффективностью использования ресурсов и снижением рисков. 1. Стратегия пересоздания развертывания Как это работает: В стратегии пересоздания все существующие Pod-ы развертывания завершаются до запуска новых Pod-ов. Это означает, что происходит короткий период простоя, пока старые Pod-ы удаляются и создаются новые. Примеры использования: Подходит, когда ваше приложение не может обрабатывать несколько версий, работающих одновременно. Используйте, когда время простоя приемлемо или в некритические моменты. 2. Стратегия поэтапного обновления развертывания Как это работает: Это стратегия развертывания по умолчанию в Kubernetes. Она постепенно заменяет старые Pod-ы новыми. Процесс выполняется контролируемым образом, с определенным количеством Pod-ов, обновляемых одновременно (контролируется параметрами maxUnavailable и maxSurge). Примеры использования: Идеально подходит для приложений, требующих нулевого времени простоя. Подходит, когда вы хотите обновить приложение с минимальными неудобствами для пользователей. 3. Стратегия развертывания «Синяя/Зеленая» Как это работает: При развертывании «Синяя/Зеленая» поддерживаются две идентичные среды (синяя и зеленая). Текущая версия работает в синей среде, а новая версия развертывается в зеленой среде. После тестирования и проверки новой версии трафик переключается на зеленую среду. Синяя среда может использоваться для будущих обновлений или оставаться резервной. Примеры использования: Идеально подходит, когда необходимо минимизировать риски и иметь стратегию быстрого отката. Подходит, когда необходимо протестировать новую версию в среде, приближенной к производственной, прежде чем запускать ее в работу. 4. Стратегия развертывания «Канарейная» Как это работает: Стратегия «Канарейная» предполагает сначала выпуск новой версии приложения для небольшой группы пользователей. Если новая версия работает должным образом, она постепенно распространяется на большее количество пользователей. Это позволяет проводить тестирование в реальных условиях с минимальным риском. Примеры использования: Идеально подходит для тестирования новых функций на небольшой пользовательской базе перед полномасштабным развертыванием. Подходит, когда необходимо отслеживать влияние изменений в производственной среде с минимальным риском. 5. Стратегия развертывания A/B-тестирования Как это работает: Подобно канареечному развертыванию, A/B-тестирование включает в себя одновременное развертывание различных версий приложения (версия A и версия B) для разных сегментов пользователей. Отслеживается поведение и производительность каждой версии, чтобы определить, какая из них работает лучше. Примеры использования: Идеально подходит для тестирования вариаций функций или оптимизации производительности, чтобы увидеть, какая версия работает лучше для пользователей. Подходит для приложений, которым необходима обратная связь в реальном времени и сравнение двух версий. 6. Стратегия теневого развертывания Как это работает: При теневом развертывании новая версия приложения развертывается параллельно с существующей версией, но не обслуживает реальный пользовательский трафик. Вместо этого она получает копию реального трафика параллельно с существующей версией. Это позволяет тестировать новую версию в реальных условиях, не затрагивая пользователей. Примеры использования: Идеально подходит для тестирования новых версий в рабочей среде без риска ухудшения пользовательского опыта. Подходит для проверки производительности и поведения новых функций с реальным трафиком. 7. Стратегия развертывания с паузами Как это работает: Эта стратегия похожа на поэтапное обновление, но с возможностью приостановки развертывания в любой момент. Это полезно, когда вы хотите вручную проверить состояние развертывания перед продолжением дальнейших обновлений. Примеры использования: Идеально подходит для сценариев, где вам необходимо вручную проверять каждый шаг процесса развертывания. Подходит, когда вам нужно контролируемое и отслеживаемое развертывание с контрольными точками. 8. Стратегия теневого и канареечного развертывания Как это работает: Комбинация теневого и канареечного развертывания, при которой новая версия развертывается для небольшой группы пользователей и одновременно тестируется с дублированным трафиком (как теневое развертывание). Эта стратегия позволяет проводить как тестирован...