• Русский
  • Настройка HA Istio с использованием числа реплик

    Включите высокую доступность (HA) для control plane Istio, задав фиксированное число реплик. Это позволяет поддерживать доступность mesh и обеспечивает фиксированный уровень отказоустойчивости между pod istiod.

    NOTE

    Фиксированное число реплик задает размер control plane Istio. Такой подход подходит, когда нагрузка на control plane стабильна или предсказуема, либо если вы предпочитаете масштабировать istiod вручную, а не полагаться на autoscaling.

    Предварительные требования

    • Вы вошли в веб-консоль Alauda Container Platform как пользователь с ролью cluster-admin, либо у вас есть активная сессия ACP CLI (kubectl) с правами cluster administrator.
    • Установлен Alauda Service Mesh v2 Operator.
    • Развернут ресурс Istio.

    Настройка через веб-консоль

    Порядок действий

    1. В веб-консоли Alauda Container Platform перейдите в раздел Administrator.

    2. Выберите Marketplace > OperatorHub.

    3. Выполните поиск Alauda Service Mesh v2.

    4. Найдите Alauda Service Mesh v2 и щелкните, чтобы выбрать его.

    5. Перейдите на вкладку All Instances.

    6. В раскрывающемся списке Filter by instance type выберите Istio.

    7. Щелкните имя установки Istio, например default.

    8. Перейдите на вкладку YAML.

    9. Обновите пользовательский ресурс (CR) Istio, чтобы он соответствовал следующему примеру:

      apiVersion: sailoperator.io/v1
      kind: Istio
      metadata:
        name: default
      spec:
        namespace: istio-system
        values:
          pilot:
            autoscaleEnabled: false
            replicaCount: 2
      1. Установка spec.values.pilot.autoscaleEnabled в false отключает autoscaling, чтобы число реплик оставалось фиксированным на заданном вами значении.
      2. spec.values.pilot.replicaCount задает фиксированное число реплик control plane Istio. Для выполнения требований HA это значение должно быть не меньше 2.

    Настройка через CLI

    Порядок действий

    1. Получите имя ресурса Istio:

      kubectl get istio -n istio-system

      Пример вывода

      NAME      NAMESPACE      PROFILE   REVISIONS   READY   IN USE   ACTIVE REVISION   STATUS    VERSION   AGE
      default   istio-system             1           1       1        default           Healthy   v1.28.6   24m

      Ресурс Istio называется default.

    2. Примените patch к пользовательскому ресурсу (CR) Istio, чтобы отключить autoscaling и задать фиксированное число реплик:

      kubectl patch istio default -n istio-system --type merge -p '
      spec:
        values:
          pilot:
            autoscaleEnabled: false
            replicaCount: 2
      '

      Пояснение этих параметров см. в разделе Настройка через веб-консоль.

    Проверка

    Проверьте состояние pod control plane Istio:

    kubectl get pods -n istio-system -l app=istiod

    Пример вывода

    NAME                      READY   STATUS    RESTARTS   AGE
    istiod-6b8d64c946-2dq2k   1/1     Running   0          28m
    istiod-6b8d64c946-skg4v   1/1     Running   0          35s

    Запущены два pod istiod, что является минимально необходимым условием для HA control plane Istio и указывает на то, что базовая конфигурация HA настроена.