• Русский
  • Изоляция 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
      • Требуется повторная изоляция вручную после восстановления