Tomi

Участник

Администратор
28.865
Сообщения
224.681
Реакции
280
Баллы
В сообществе с
Автор: Guay
Название: Blue/Green деплой в Kubernetes с использованием Istio (2026)

Описание:
eground-c22d88ee18961d784502cf6d.png


Kubernetes Blue/Green Deployments with Istio

Автор:
Michael Guay

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

Выпускать новую версию сервиса в продакшн всегда рискованно. Одна ошибка в релизе может оставить пользователей без доступа, а команду заставить ночью экстренно чинить прод. В этом англоязычном материале 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
  • Способ мгновенно откатиться на предыдущую версию

Подробнее:
Подробности доступны после входа
Войдите или создайте аккаунт, чтобы посмотреть скрытую информацию.

Скачать:
Доступ к материалам
Ссылки на скачивание защищены

Войдите в аккаунт или зарегистрируйтесь, чтобы продолжить.

 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху