• Русский
  • Высокая доступность Istio

    Работа control plane Istio в режиме High Availability (HA) устраняет единые точки отказа и обеспечивает непрерывную работу mesh, когда pod istiod становится неисправным.

    Когда HA включена, отказ отдельного pod istiod не прерывает управление трафиком или настройку data plane: оставшаяся replica продолжает обслуживать mesh, предотвращая простои и уменьшая заметные для пользователя сбои. HA также распределяет нагрузку control plane между несколькими replica, обеспечивает более плавные обновления control plane, поддерживает сценарии disaster recovery и защищает от отказов на уровне зоны.

    Администратор кластера может включить HA для развертывания Istio, используя один из следующих подходов:

    • Фиксированное количество replica: закрепите развертывание за фиксированным числом pod istiod, чтобы поддерживать предсказуемый уровень избыточности.
    • Autoscaling: разрешите Horizontal Pod Autoscaler (HPA) автоматически изменять количество pod istiod в зависимости от использования ресурсов или пользовательских метрик. Это подходит для workloads с переменной нагрузкой.

    Особенности для одноподовых кластеров

    Для одноподовых кластеров крайне важно отключить стандартный Pod Disruption Budget (PDB), чтобы избежать проблем во время операций с узлом (например, draining) или масштабирования в режиме HA. Это можно сделать, добавив следующую конфигурацию в ваш ресурс Istio:

    apiVersion: sailoperator.io/v1
    kind: Istio
    metadata:
      name: default
    spec:
      namespace: istio-system
      values:
        global:
          defaultPodDisruptionBudget:
            # disable default Pod Disruption Budget
            enabled: false
    1. spec.values.global.defaultPodDisruptionBudget.enabled: false отключает стандартный Pod Disruption Budget для Istiod. В одноподовых кластерах PDB может блокировать такие операции, как draining узла или eviction pod, поскольку он не позволяет количеству доступных replica Istiod опускаться ниже минимального требуемого значения PDB. Отключение этого параметра обеспечивает корректное выполнение операций в данной топологии.