💻 Программирование [Michael Guay] Blue/Green деплой в Kubernetes с использованием Istio (2026)

  • ОФОРМИТЬ ПОДПИСКУ

Calvin Candie

Вечный

Calvin Candie

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

Снимок экрана — 2026-10-21 в 10.00.54.png

[Michael Guay] Kubernetes Blue/Green Deployments with Istio (2026)

Язык: английский

Выпускать новую версию сервиса в продакшн всегда рискованно. Одна ошибка в релизе может оставить пользователей без доступа, а команду заставить ночью экстренно чинить прод. В этом англоязычном материале Michael Guay показывает, как связка Kubernetes и Istio делает релиз управляемой процедурой, которую можно спокойно повторять.

В основе материала стратегия Blue/Green. Старая и новая версии приложения работают параллельно, а запросы между ними распределяются правилами маршрутизации сервис-меша. Если новая версия ведёт себя не так, как ожидалось, на стабильную можно вернуться за секунды, без долгой отладки и простоя.

Материал рассчитан на инженеров, которым нужен понятный и воспроизводимый процесс деплоя без переписывания кода приложений. Здесь есть и теория стратегии, и практическая часть: от установки Istio до готового примера конфигурации с весами трафика.

Что такое Blue/Green-деплой:
Blue/Green — это стратегия развёртывания, при которой в кластере одновременно существуют две версии приложения. Blue — текущая рабочая версия, Green — новая. Переключение между ними происходит мгновенно, потому что меняется только направление трафика. Это один из самых надёжных подходов к безопасным релизам в Kubernetes.

Преимущества подхода:
  • Минимизация простоев при релизах
  • Мгновенный откат на предыдущую версию
  • Прозрачное переключение для пользователей
  • Возможность тестирования новой версии в продакшне
Роль Istio в реализации Blue/Green:
Istio даёт гибкое управление сетевым трафиком внутри кластера Kubernetes. С ним можно задавать правила маршрутизации и отправлять на разные версии приложения заданную долю запросов в процентах. Так новая версия получает трафик плавно, а риски при обновлении снижаются.

Ключевые возможности Istio:
  • Маршрутизация трафика на уровне HTTP/L7
  • Градиентное переключение между версиями
  • Встроенные инструменты наблюдаемости и телеметрии
  • Полная интеграция с Kubernetes без изменений в коде приложения
Настройка окружения для Blue/Green-деплоя:
Сначала нужно подготовить кластер 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
  • Способ мгновенно откатиться на предыдущую версию

Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!

Скачать:
 

Похожие темы