Установка Alauda Service Mesh

Установка Alauda Service Mesh состоит из четырёх основных частей:

  • Установка оператора Alauda Service Mesh v2
  • Развёртывание плагина Istio CNI
  • Развёртывание управляющей плоскости Istio
WARNING

Не устанавливайте Alauda Service Mesh и Alauda Service Mesh v2 в одном Kubernetes кластере, так как это может привести к функциональным конфликтам.

Руководство по миграции будет доступно в будущих релизах.

Содержание

Развёртывание Istio с помощью оператора Alauda Service Mesh v2

Для развёртывания Istio с использованием оператора Alauda Service Mesh v2 необходимо создать ресурс Istio. Оператор затем создаёт ресурсы IstioRevision, представляющие отдельные ревизии управляющей плоскости Istio. Управляющая плоскость Istio развёртывается на основе этих ресурсов IstioRevision.

Если стратегия обновления ресурса Istio установлена в значение RevisionBased, оператор может создавать дополнительные ресурсы IstioRevision для управления обновлениями управляющей плоскости.

Установка оператора Alauda Service Mesh v2

Требования

  • Alauda Service Mesh v2 должен быть загружен.
  • Вы вошли в веб-консоль Alauda Container Platform под пользователем с ролью cluster-admin.
  • В платформе Alauda Container Platform должен быть установлен плагин Networking for Multus, а kube-ovn должен быть версии 4.1.5 или выше.

Процедура

  1. В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
  2. Выберите Marketplace > OperatorHub.
  3. Найдите Alauda Service Mesh v2.
  4. Найдите Alauda Service Mesh v2 и кликните для выбора.
  5. Нажмите Install.
  6. В диалоговом окне Install Alauda Service Mesh v2 выполните следующие шаги:
    1. Выберите Channel
      • Выберите канал stable для установки последней стабильной версии оператора Alauda Service Mesh v2. Это канал по умолчанию для установки оператора.
      • Для установки конкретной версии оператора Alauda Service Mesh v2 выберите соответствующий канал stable-<version>. Например, для установки версии 2.0.x используйте канал stable-2.0.
  7. Нажмите Install и подтвердите установку.

Проверка

Убедитесь, что статус установки оператора в разделе Installation Info отображается как Succeeded.

Пользовательские определения ресурсов, установленные оператором

Оператор устанавливает следующие категории Custom Resource Definitions (CRD):

  • Sail Operator CRDs: Эти CRD принадлежат API группе sailoperator.io и определяют пользовательские ресурсы для управления компонентами Istio, включая Istio, IstioRevision, IstioCNI и ZTunnel. Подробности см. в Sail Operator API reference.

  • Istio CRDs: Эти CRD управляют конфигурацией mesh, обнаружением сервисов, маршрутизацией трафика и наблюдаемостью. Они принадлежат API группам istio.io, таким как networking.istio.io, security.istio.io и telemetry.istio.io. Руководство по конфигурации доступно в документации Istio.

Развёртывание компонентов Istio

Для развёртывания управляющей плоскости и плагина Istio CNI необходимо создать пользовательские ресурсы Istio и IstioCNI.

Эти ресурсы Istio и IstioCNI должны быть созданы в разных пространствах имён.

Создание пространства имён для IstioCNI

kubectl create namespace istio-cni

Создание ресурса IstioCNI через веб-консоль

Создайте ресурс Istio Container Network Interface (CNI), который содержит конфигурационный файл для плагина Istio CNI. Оператор Alauda Service Mesh v2 использует конфигурацию этого ресурса для развёртывания CNI пода.

Требования

  • Вы вошли в веб-консоль Alauda Container Platform под пользователем с ролью cluster-admin.
  • Оператор Alauda Service Mesh v2 должен быть установлен.
  • В платформе Alauda Container Platform должен быть установлен плагин Networking for Multus, а kube-ovn должен быть версии 4.1.5 или выше.

Процедура

  1. В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
  2. Выберите Marketplace > OperatorHub.
  3. Найдите Alauda Service Mesh v2.
  4. Найдите Alauda Service Mesh v2 и кликните для выбора.
  5. Перейдите на вкладку All Instances.
  6. Нажмите Create.
  7. Найдите и выберите IstioCNI, затем нажмите Create.
  8. Выберите istio-cni в выпадающем списке Namespace.
  9. Перейдите на вкладку YAML.
  10. Добавьте следующий YAML-фрагмент в редактор кода YAML:
    apiVersion: sailoperator.io/v1
    kind: IstioCNI
    spec:
      # Applying the following contents to the yaml code editor:
      values:
        cni:
          cniConfDir: /etc/cni/multus/net.d # /etc/cni/net.d in ACP 4.0
          excludeNamespaces:
            - istio-cni
            - kube-system
  11. Нажмите Create.

Проверка

Дождитесь, пока поле .status.state ресурса IstioCNI не станет равным Healthy.

Создание пространства имён для Istio

kubectl create namespace istio-system
kubectl label namespace istio-system cpaas.io/project=cpaas-system

Создание ресурса Istio через веб-консоль

Создайте ресурс Istio, который будет содержать YAML-конфигурацию для вашего развёртывания Istio. Оператор Alauda Service Mesh v2 использует конфигурацию этого ресурса для развёртывания управляющей плоскости Istio.

Требования

  • Оператор Alauda Service Mesh v2 должен быть установлен.
  • Вы вошли в веб-консоль Alauda Container Platform под пользователем с ролью cluster-admin.
  • В платформе Alauda Container Platform должен быть установлен плагин Networking for Multus, а kube-ovn должен быть версии 4.1.5 или выше.

Процедура

  1. В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
  2. Выберите Marketplace > OperatorHub.
  3. Найдите Alauda Service Mesh v2.
  4. Найдите Alauda Service Mesh v2 и кликните для выбора.
  5. Перейдите на вкладку All Instances.
  6. Нажмите Create.
  7. Найдите и выберите Istio, затем нажмите Create.
  8. Выберите istio-system в выпадающем списке Namespace.
  9. Нажмите Create.

Проверка

Дождитесь, пока поле .status.state ресурса Istio не станет равным Healthy.