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

Регистрация
7 Апр 2025
Сообщения
10,778
Реакции
81
Автор: Michael Guay​
Название: Blue/Green деплой в Kubernetes с использованием Istio (2024)​

cover.jpg

Продолжительность: 0 ч 32 мин Количество уроков: 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, обеспечивая стабильность и гибкость продакшн-среды.

СКАЧАТЬ:
 📥 Скрытое содержимое! Войдите или Зарегистрируйтесь
 

Похожие темы

10,840Темы
10,893Сообщения
788Пользователи
MuhaНовый пользователь
Сверху