Calvin Candie
Вечный
Calvin Candie
Вечный
- 2 Сен 2018
- 55,181
- 12,556
- #1
Голосов: 0
Автор: Michael Guay
Название: Blue/Green деплой в Kubernetes с использованием Istio (2026)

[Michael Guay] Kubernetes Blue/Green Deployments with Istio (2026)
Язык: английский
Выпускать новую версию сервиса в продакшн всегда рискованно. Одна ошибка в релизе может оставить пользователей без доступа, а команду заставить ночью экстренно чинить прод. В этом англоязычном материале Michael Guay показывает, как связка Kubernetes и Istio делает релиз управляемой процедурой, которую можно спокойно повторять.
В основе материала стратегия Blue/Green. Старая и новая версии приложения работают параллельно, а запросы между ними распределяются правилами маршрутизации сервис-меша. Если новая версия ведёт себя не так, как ожидалось, на стабильную можно вернуться за секунды, без долгой отладки и простоя.
Материал рассчитан на инженеров, которым нужен понятный и воспроизводимый процесс деплоя без переписывания кода приложений. Здесь есть и теория стратегии, и практическая часть: от установки Istio до готового примера конфигурации с весами трафика.
Что такое Blue/Green-деплой:
Blue/Green — это стратегия развёртывания, при которой в кластере одновременно существуют две версии приложения. Blue — текущая рабочая версия, Green — новая. Переключение между ними происходит мгновенно, потому что меняется только направление трафика. Это один из самых надёжных подходов к безопасным релизам в Kubernetes.
Преимущества подхода:
Istio даёт гибкое управление сетевым трафиком внутри кластера Kubernetes. С ним можно задавать правила маршрутизации и отправлять на разные версии приложения заданную долю запросов в процентах. Так новая версия получает трафик плавно, а риски при обновлении снижаются.
Ключевые возможности Istio:
Сначала нужно подготовить кластер Kubernetes и установить в него Istio.
Установка Istio:
Для установки используется утилита istioctl. После неё в кластере появляются компоненты для управления политиками трафика.
Развёртывание двух версий приложения:
Далее создаются два Deployment и соответствующие им Service. На них ставятся метки, по которым Istio определяет, куда направлять запросы.
Создание VirtualService:
Правила распределения трафика между версиями задаёт ресурс VirtualService. С его помощью можно, например, отправить 100% пользователей на Blue или начать постепенно переводить их на Green.
Пример конфигурации VirtualService:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: app-routing
spec:
hosts:
- my-app
http:
- route:
- destination:
host: my-app
subset: blue
weight: 100
- destination:
host: my-app
subset: green
weight: 0
Переключение трафика:
Веса маршрутизации определяют, какая доля пользователей попадает на каждую версию. Меняя их, можно переводить людей на новую версию постепенно или переключить весь трафик сразу.
Откат изменений и безопасность релизов:
Откат в Blue/Green происходит моментально: достаточно вернуть вес трафика на предыдущую версию. Поэтому релизы становятся предсказуемыми, а риск сбоя в продакшне заметно снижается.
Итог:
Стратегия Blue/Green вместе с Istio даёт сильный инструмент для безопасного и контролируемого развёртывания приложений в Kubernetes. Продакшн-среда остаётся стабильной, а команда может гибко управлять выкаткой новых версий.
Для кого подойдёт:
Подробнее:
Скачать:
Название: Blue/Green деплой в Kubernetes с использованием Istio (2026)

[Michael Guay] Kubernetes Blue/Green Deployments with Istio (2026)
Язык: английский
Выпускать новую версию сервиса в продакшн всегда рискованно. Одна ошибка в релизе может оставить пользователей без доступа, а команду заставить ночью экстренно чинить прод. В этом англоязычном материале Michael Guay показывает, как связка Kubernetes и Istio делает релиз управляемой процедурой, которую можно спокойно повторять.
В основе материала стратегия Blue/Green. Старая и новая версии приложения работают параллельно, а запросы между ними распределяются правилами маршрутизации сервис-меша. Если новая версия ведёт себя не так, как ожидалось, на стабильную можно вернуться за секунды, без долгой отладки и простоя.
Материал рассчитан на инженеров, которым нужен понятный и воспроизводимый процесс деплоя без переписывания кода приложений. Здесь есть и теория стратегии, и практическая часть: от установки Istio до готового примера конфигурации с весами трафика.
Что такое Blue/Green-деплой:
Blue/Green — это стратегия развёртывания, при которой в кластере одновременно существуют две версии приложения. Blue — текущая рабочая версия, Green — новая. Переключение между ними происходит мгновенно, потому что меняется только направление трафика. Это один из самых надёжных подходов к безопасным релизам в Kubernetes.
Преимущества подхода:
- Минимизация простоев при релизах
- Мгновенный откат на предыдущую версию
- Прозрачное переключение для пользователей
- Возможность тестирования новой версии в продакшне
Istio даёт гибкое управление сетевым трафиком внутри кластера Kubernetes. С ним можно задавать правила маршрутизации и отправлять на разные версии приложения заданную долю запросов в процентах. Так новая версия получает трафик плавно, а риски при обновлении снижаются.
Ключевые возможности Istio:
- Маршрутизация трафика на уровне HTTP/L7
- Градиентное переключение между версиями
- Встроенные инструменты наблюдаемости и телеметрии
- Полная интеграция с Kubernetes без изменений в коде приложения
Сначала нужно подготовить кластер Kubernetes и установить в него Istio.
Установка Istio:
Для установки используется утилита istioctl. После неё в кластере появляются компоненты для управления политиками трафика.
Развёртывание двух версий приложения:
Далее создаются два Deployment и соответствующие им Service. На них ставятся метки, по которым Istio определяет, куда направлять запросы.
Создание VirtualService:
Правила распределения трафика между версиями задаёт ресурс VirtualService. С его помощью можно, например, отправить 100% пользователей на Blue или начать постепенно переводить их на Green.
Пример конфигурации VirtualService:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: app-routing
spec:
hosts:
- my-app
http:
- route:
- destination:
host: my-app
subset: blue
weight: 100
- destination:
host: my-app
subset: green
weight: 0
Переключение трафика:
Веса маршрутизации определяют, какая доля пользователей попадает на каждую версию. Меняя их, можно переводить людей на новую версию постепенно или переключить весь трафик сразу.
Откат изменений и безопасность релизов:
Откат в Blue/Green происходит моментально: достаточно вернуть вес трафика на предыдущую версию. Поэтому релизы становятся предсказуемыми, а риск сбоя в продакшне заметно снижается.
Итог:
Стратегия Blue/Green вместе с Istio даёт сильный инструмент для безопасного и контролируемого развёртывания приложений в Kubernetes. Продакшн-среда остаётся стабильной, а команда может гибко управлять выкаткой новых версий.
Для кого подойдёт:
- DevOps-инженерам, которые хотят выпускать релизы без простоев
- SRE-специалистам, отвечающим за стабильность продакшн-кластеров
- Backend-разработчикам, которые деплоят сервисы в Kubernetes
- Инженерам, начинающим работать с сервис-мешем Istio
- Тимлидам, выстраивающим безопасный процесс доставки обновлений
- Понимание стратегии Blue/Green и её преимуществ
- Порядок установки Istio через istioctl и подготовки кластера
- Схему развёртывания двух версий приложения с метками для маршрутизации
- Готовый пример VirtualService с весами трафика для Blue и Green
- Способ мгновенно откатиться на предыдущую версию
Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.