Установка Alauda Service Mesh
Установка Alauda Service Mesh состоит из четырех основных частей:
- Установка Alauda Service Mesh v2 Operator
- Развертывание плагина Istio CNI
- Развертывание control plane Istio
Не устанавливайте Alauda Service Mesh и Alauda Service Mesh v2 в одном Kubernetes-кластере, так как это может привести к функциональным конфликтам.
Руководство по миграции будет доступно в одном из будущих релизов.
Содержание
Развертывание Istio с помощью Alauda Service Mesh v2 OperatorУстановка Alauda Service Mesh v2 OperatorУстановка через веб-консольУстановка через CLICustom Resource Definitions, устанавливаемые OperatorРазвертывание компонентов IstioСоздание namespace для IstioCNIСоздание ресурсаIstioCNIСоздание через веб-консольСоздание через CLIСоздание namespace для IstioСоздание ресурса IstioСоздание через веб-консольСоздание через CLIДополнительные ресурсыРазвертывание Istio с помощью Alauda Service Mesh v2 Operator
Для развертывания Istio с помощью Alauda Service Mesh v2 Operator необходимо создать ресурс Istio.
Затем Operator создает ресурсы IstioRevision, представляющие отдельные ревизии control plane Istio.
После этого control plane Istio развертывается на основе этих ресурсов IstioRevision.
Если стратегия обновления ресурса Istio установлена в RevisionBased, Operator может создавать дополнительные ресурсы IstioRevision для управления обновлениями control plane.
Установка Alauda Service Mesh v2 Operator
Установка через веб-консоль
Предварительные условия
-
Alauda Service Mesh v2 должен быть загружен.
-
Вы вошли в веб-консоль Alauda Container Platform как cluster-admin.
-
Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Плагин Multus должен быть установлен до установки Alauda Service Mesh v2 Operator.Если Operator будет установлен раньше, его необходимо удалить и установить заново после того, как плагин Multus будет установлен.
Процедура
- В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
- Выберите Marketplace > OperatorHub.
- Найдите Alauda Service Mesh v2.
- Найдите Alauda Service Mesh v2 и щелкните его, чтобы выбрать.
- Нажмите Install.
- В диалоговом окне Install Alauda Service Mesh v2 выполните следующие действия:
- Выберите Channel
- Выберите канал stable, чтобы установить последнюю стабильную версию Alauda Service Mesh v2 Operator. Это канал по умолчанию для установки Operator.
- Чтобы установить конкретную версию Alauda Service Mesh v2 Operator, выберите соответствующий канал
stable-<version>. Например, чтобы установить Alauda Service Mesh v2 Operator версии 2.0.x, используйте канал stable-2.0.
- Выберите Channel
- Нажмите Install и Confirm, чтобы установить Operator.
Проверка
Убедитесь, что статус установки Operator в разделе Installation Info имеет значение Succeeded.
Установка через CLI
Предварительные условия
-
Alauda Service Mesh v2 должен быть загружен.
-
Активная сессия ACP CLI (
kubectl) от администратора кластера с рольюcluster-admin. -
Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Плагин Multus должен быть установлен до установки Alauda Service Mesh v2 Operator.Если Operator будет установлен раньше, его необходимо удалить и установить заново после того, как плагин Multus будет установлен.
Процедура
-
Проверьте доступные версии
Пример вывода
Поля:
- CHANNEL: имя канала Operator
- NAME: имя ресурса CSV
- VERSION: версия Operator
-
Подтвердите
catalogSourceПример вывода
Это означает, что
servicemesh-operator2поступает изcatalogSourceplatform. -
Создайте namespace
-
Создайте Subscription
Пояснения к полям
- annotation
cpaas.io/target-namespaces: рекомендуется установить пустое значение; пустое значение означает установку на уровне всего кластера. - .metadata.name: имя Subscription (должно соответствовать DNS, максимум 253 символа).
- .metadata.namespace: namespace, в котором будет установлен Operator.
- .spec.channel: канал Operator, на который выполнена подписка.
- .spec.installPlanApproval: стратегия утверждения (
ManualилиAutomatic). В данном случаеManualтребует ручного утверждения для установки/обновления. - .spec.source:
catalogSourceOperator. - .spec.sourceNamespace: должен быть установлен в
cpaas-system, поскольку всеcatalogSource, предоставляемые платформой, находятся в этом namespace. - .spec.startingCSV: указывает версию для установки при
Manual-утверждении; если поле пустое, по умолчанию используется последняя версия в канале. ДляAutomaticне требуется.
- annotation
-
Проверьте статус Subscription
Ключевые значения вывода
- .status.state:
UpgradePendingозначает, что Operator ожидает установки или обновления. - Condition InstallPlanPending = True: ожидается ручное утверждение.
- .status.currentCSV: последняя подписанная CSV.
- .status.installPlanRef: связанный InstallPlan; перед продолжением установки его необходимо утвердить.
Дождитесь, пока условие
InstallPlanPendingне примет значениеTrue: - .status.state:
-
Утвердите InstallPlan
Пример вывода
Утверждение вручную
Проверка
Дождитесь создания CSV; значение Phase изменится на Succeeded:
Проверьте статус CSV:
Пример вывода
Поля
- NAME: имя установленного CSV
- DISPLAY: отображаемое имя Operator
- VERSION: версия Operator
- REPLACES: CSV, замененный во время обновления
- PHASE: статус установки (
Succeededозначает успешное завершение)
Custom Resource Definitions, устанавливаемые Operator
Operator устанавливает следующие категории Custom Resource Definitions (CRD):
-
Sail Operator CRD: Эти CRD относятся к API-группе
sailoperator.ioи определяют пользовательские ресурсы для управления компонентами Istio, включаяIstio,IstioRevision,IstioCNIиZTunnel. Подробности см. в справочнике по API Sail Operator. -
Istio CRD: Эти CRD управляют конфигурацией mesh, обнаружением сервисов, маршрутизацией трафика и observability. Они относятся к API-группам
istio.io, таким какnetworking.istio.io,security.istio.ioиtelemetry.istio.io. См. документацию Istio для получения рекомендаций по конфигурации.
Развертывание компонентов Istio
Для развертывания control plane и плагина Istio CNI необходимо создать пользовательские ресурсы Istio и IstioCNI.
Требуется создавать ресурсы Istio и IstioCNI в разных namespace.
Создание namespace для IstioCNI
Создание ресурса IstioCNI
Создание через веб-консоль
Создайте ресурс Istio Container Network Interface (CNI), который содержит файл конфигурации для плагина Istio CNI. Alauda Service Mesh v2 Operator использует конфигурацию этого ресурса для развертывания pod CNI.
Предварительные условия
- Вы вошли в веб-консоль Alauda Container Platform как cluster-admin.
- Alauda Service Mesh v2 Operator должен быть установлен.
- Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Процедура
- В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
- Выберите Marketplace > OperatorHub.
- Найдите Alauda Service Mesh v2.
- Найдите Alauda Service Mesh v2 и щелкните его, чтобы выбрать.
- Перейдите на вкладку All Instances.
- Нажмите Create.
- Найдите и выберите IstioCNI, а затем нажмите Create.
- Выберите
istio-cniв выпадающем списке Namespace. - Перейдите на вкладку YAML.
- Добавьте следующий фрагмент YAML в редактор кода YAML:
- Нажмите Create.
Проверка
Дождитесь, пока поле .status.state ресурса IstioCNI не примет значение Healthy.
Создание через CLI
Предварительные условия
- Активная сессия ACP CLI (
kubectl) от администратора кластера с рольюcluster-admin. - Alauda Service Mesh v2 Operator должен быть установлен.
- Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Процедура
-
Создайте ресурс IstioCNI, выполнив следующую команду:
-
Дождитесь возврата условия состояния
Readyдля ресурса IstioCNI, выполнив следующую команду:
Создание namespace для Istio
Создание ресурса Istio
Создание через веб-консоль
Создайте ресурс Istio, который будет содержать YAML-конфигурацию для развертывания Istio.
Alauda Service Mesh v2 Operator использует конфигурацию этого ресурса для развертывания control plane Istio.
Предварительные условия
- Alauda Service Mesh v2 Operator должен быть установлен.
- Вы вошли в веб-консоль Alauda Container Platform как cluster-admin.
- Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Процедура
- В веб-консоли Alauda Container Platform перейдите в раздел Administrator.
- Выберите Marketplace > OperatorHub.
- Найдите Alauda Service Mesh v2.
- Найдите Alauda Service Mesh v2 и щелкните его, чтобы выбрать.
- Перейдите на вкладку All Instances.
- Нажмите Create.
- Найдите и выберите Istio, а затем нажмите Create.
- Выберите
istio-systemв выпадающем списке Namespace. - Нажмите Create.
Проверка
Дождитесь, пока поле .status.state ресурса Istio не примет значение Healthy.
Создание через CLI
Предварительные условия
- Активная сессия ACP CLI (
kubectl) от администратора кластера с рольюcluster-admin. - Alauda Service Mesh v2 Operator должен быть установлен.
- Должен быть установлен плагин Alauda Container Platform Networking for Multus, а версия kube-ovn должна быть v4.1.5 или более поздней.
Процедура
-
Создайте ресурс Istio, выполнив следующую команду:
-
Дождитесь возврата условия состояния
Readyдля control plane Istio, выполнив следующую команду: