Описание
Количество уроков: 1 Видео
Язык: Английский
Вес архива: 64 МБ
Blue/Green-деплой в Kubernetes — один из самых надёжных подходов к безопасным релизам. В этом материале вы узнаете, как использовать Istio для плавного переключения трафика между версиями приложения и минимизации рисков при обновлениях.
Что такое Blue/Green-деплой
Blue/Green — это стратегия развертывания, при которой одновременно существуют две версии приложения: Blue (текущая) и Green (новая). Переключение между ними выполняется мгновенно за счёт перенаправления трафика.
Преимущества подхода
• Минимизация простоев при релизах
• Мгновенный откат на предыдущую версию
• Прозрачное переключение для пользователей
• Возможность тестирования новой версии в продакшне
Роль Istio в реализации Blue/Green
Istio обеспечивает гибкое управление сетевым трафиком внутри кластера Kubernetes. Это позволяет задавать правила маршрутизации и направлять определённые проценты запросов на разные версии приложения.
Ключевые возможности Istio
• Маршрутизация трафика на уровне HTTP/L7
• Градиентное переключение между версиями
• Встроенные инструменты наблюдаемости и телеметрии
• Полная интеграция с Kubernetes без изменений в коде приложения
Настройка окружения для Blue/Green-деплоя
Перед началом работы необходимо подготовить кластер Kubernetes и установить Istio.
Установка Istio
Для установки можно использовать утилиту istioctl. После установки будут доступны компоненты для управления политиками трафика.
Развёртывание двух версий приложения
Создайте два Deployment и соответствующие Service с метками, по которым Istio будет определять маршрутизацию.
Настройка маршрутизации в 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 позволяет выполнить откат моментально — достаточно вернуть вес трафика на предыдущую версию. Это делает релизы более предсказуемыми и снижает риски.
Заключение
Используя Istio и стратегию Blue/Green, вы получаете мощный инструмент для безопасного и контролируемого развертывания приложений в Kubernetes, обеспечивая стабильность и гибкость продакшн-среды.

Дмитрий К. –
Уже работаю с Kubernetes, брал курс ради конкретики по маршрутизации в Istio. Всё по существу: градиентное переключение процентов запросов, мгновенный откат на предыдущую версию, отсутствие изменений в коде приложения. Формат один урок на 32 минуты удобен, посмотрел и сразу применил на тестовом кластере.
Марина В. –
Полезный обзор Blue/Green-деплоя: понятно объяснено, зачем нужны две версии приложения и две метки в Service. Понравилось, что показали установку через istioctl и создание Deployment для обеих версий. Единственное — хотелось бы побольше про телеметрию и наблюдаемость, ей уделено совсем мало времени, а видео всего одно. Но как стартовая точка по Istio вполне подходит.
Алексей Т. –
Курс короткий, но по делу: за полчаса разобрал, как настроить VirtualService и переключать трафик между Blue и Green версиями в Istio. Раньше делал откаты вручную через kubectl, теперь понимаю, как это автоматизировать на уровне маршрутизации L7. Для новичка в Istio материала хватает, чтобы повторить всё за автором.