Изоляция Pod
Содержание
Введение
Изоляция Pod позволяет динамически исключать неисправные Pod из трафика сервиса, при этом сохраняя их рабочее состояние. Эта функциональность:
- Предотвращает неудачные запросы к дефектным конечным точкам
- Обеспечивает доступность сервиса во время устранения неполадок
- Позволяет бесшовно возвращать Pod в работу после восстановления
Основная ценность: обеспечивает непрерывную надежность сервиса за счет целенаправленного управления трафиком
Особенности
- Исключение/включение Pod одним кликом
- Интеграция с метриками состояния в реальном времени
- Режим совместимости с устаревшими сервисами
- Безопасная изоляция (Pod остается запущенным)
Преимущества
Точность: нацеливание на конкретные Pod без перезапуска сервиса
Безопасность: поддержание кворума для оставшихся Pod
Видимость: встроенный мониторинг успешности и задержек
Соответствие: работает в рамках оркестрации Kubernetes
Изоляция Pod
Шаг 1: Доступ к управлению Pod
- Перейдите: Service List > Target Service
- Выберите вкладку Pod Group
- Найдите целевой Pod по метрикам или логам
Шаг 2: Выполнение изоляции
# Аннотация состояния изоляции
metadata:
annotations:
asm.cpaas.io/isolated: "true"
Элемент управления UI | Действие |
---|
 | Открыть контекстное меню |
Set Isolation | Переключить состояние изоляции |
Set | Подтвердить настройку |
Активация устаревшего сервиса
Требования
- Kubernetes версии v1.18 и выше
- Сервис создан до выпуска функции изоляции
- Привилегии администратора кластера
Обновление конфигурации
-
Измените метки Deployment:
metadata:
labels:
asm.cpaas.io/msselector: product-service
-
Обновите селектор внутреннего маршрута:
spec:
selector:
asm.cpaas.io/msselector: product-service
Мониторинг и проверка
Панель ключевых метрик
Метрика | Порог | Элемент управления обновлением |
---|
Error Rate | <5% |  |
Latency | <500ms |  |
Active Connections | ±10% отклонение |  |
Проверка статуса
kubectl get endpoints <service-name> -o jsonpath='{.subsets[].notReadyAddresses}'
Операционные ограничения
-
Ограничения по состоянию:
- Влияет только на Pod в состоянии Running
- Не затрагивает Pod в состояниях Completed/CrashLoopBackOff
-
Сценарии конфликтов:
- Отключена во время canary-релизов
- Перекрывается событиями масштабирования (scale-in/scale-out)
-
Сохранение состояния:
- Изоляция сбрасывается при перезапуске Pod
- Требуется повторная ручная изоляция после восстановления