Изоляция Pod

Содержание

Введение

Изоляция Pod позволяет динамически исключать неисправные Pod из трафика сервиса, при этом сохраняя их рабочее состояние. Эта функциональность:

  • Предотвращает неудачные запросы к дефектным конечным точкам
  • Поддерживает доступность сервиса во время устранения неполадок
  • Обеспечивает бесшовную реинтеграцию после восстановления

Основная ценность: Обеспечивает непрерывную надежность сервиса за счёт целевого управления трафиком

Особенности

  • Исключение/включение Pod одним кликом
  • Интеграция метрик здоровья в реальном времени
  • Режим совместимости с устаревшими сервисами
  • Безопасная изоляция (Pod остаётся запущенным)

Преимущества

Точность: Нацеливание на конкретные Pod без перезапуска сервиса
Безопасность: Поддержание кворума для оставшихся Pod
Видимость: Встроенный мониторинг успешности и задержек
Соответствие: Работает в рамках оркестрации Kubernetes

Изоляция Pod

Шаг 1: Доступ к управлению Pod

  1. Перейдите: Service List > Target Service
  2. Выберите вкладку Pod Group
  3. Найдите целевой Pod по метрикам или логам

Шаг 2: Выполнение изоляции

# Аннотация состояния изоляции
metadata:
  annotations:
    asm.cpaas.io/isolated: "true"
Элемент управления UIДействие
Открыть контекстное меню
Set IsolationПереключить состояние изоляции
SetПодтвердить настройку

Активация устаревшего сервиса

Требования

  • Kubernetes v1.18+
  • Сервис создан до выпуска функции изоляции
  • Привилегии администратора кластера

Обновление конфигурации

  1. Измените метки Deployment:

    metadata:
      labels:
        asm.cpaas.io/msselector: product-service
  2. Обновите селектор внутреннего маршрута:

    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}'

Операционные ограничения

  1. Ограничения по состоянию:

    • Влияет только на Pod в состоянии Running
    • Не затрагивает Pod в состояниях Completed/CrashLoopBackOff
  2. Сценарии конфликтов:

    • Отключена во время canary-релизов
    • Перекрывается событиями масштабирования (scale-in/scale-out)
  3. Сохранение состояния:

    • Изоляция сбрасывается при перезапуске Pod
    • Требуется повторная изоляция вручную после восстановления