Добавить сервис

Этот документ проведет вас через создание службы ServiceMesh или службы OpenTelemetry.

Содержание

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

  1. Текущий пространств имен было добавлено в сетку обслуживания. Пожалуйста, ознакомьтесь с Добавление пространств имен для получения инструкций.
  2. Тип рабочей нагрузки - это развертывание, и с ним связана ассоциация один к одному со службой.

Добавить службу ServiceMesh

Шаги

  1. В левой навигационной панели нажмите Список служб.

  2. Нажмите Добавить службу.

  3. Ознакомьтесь с следующими инструкциями для конфигурации соответствующих параметров.

ПараметрОписание
РазвертываниеРазвертывание в текущем пространстве имен на платформе контейнеров, которое является вычислительным компонентом, выполняющим службу.
Внутренняя маршрутизацияИнформация о внутреннем маршруте, который соответствует выбранному развертыванию и поддерживает модификации протокола маршрута и имени контейнера.
Внутренняя маршрутизация должна соответствовать следующим условиям:
- С выбранным развертыванием связана только одна внутренняя маршрутизация, и этот маршрут эксклюзивно связан с этим развертыванием.
- Тип внутреннего маршрута либо NodePort, либо ClusterIP.
- Служба поддерживает только протоколы HTTP, HTTP2, gRPC, TCP. Не добавляйте неподдерживаемые протоколы внутренней маршрутизации, так как это может привести к ошибкам вызова службы.
Конфигурация бокового контейнераВ режимах управления Service Mesh или Composite боковой контейнер будет автоматически вводиться в добавленную службу. Это означает, что когда Pod службы запускается, контейнер боковой программы также запускается внутри Pod для управления трафиком, входящим и выходящим из службы, а также управления и контроля службы.
  • Вы можете контролировать распределение ресурсов для бокового контейнера через конфигурацию ресурсов.
  • Вы можете настроить уровень журналирования бокового контейнера.
  • Вы можете настроить пропуск трафика по мере необходимости.
Обнаружение служб между кластерамиПримечание: Этот параметр виден только тогда, когда текущая сетка обслуживания является много-кластерной сеткой обслуживания (по крайней мере 2 кластера).

Необходимо ли открывать службу для всех кластеров, управляемых сеткой, что позволяет любой службе или шлюзу в других кластерах под сеткой напрямую обращаться к текущей службе.
Переключатель Обнаружение служб между кластерами является глобальным (по всей сети) параметром. Изменение состояния переключателя для любой службы с тем же именем под сеткой повлияет на все службы с тем же именем (службы с тем же именем, что и внутренний маршрут, связанный с выбранным развертыванием) во всех кластерах.
Пояснение: Службы с тем же именем обозначают службы в разных кластерах, управляемых сеткой обслуживания, в пространстве имен с тем же именем; успешно добавленная служба и внутренний маршрут, связанный с выбранным развертыванием, носят одно и то же имя.

Когда переключатель включен, после успешного добавления службы:
  • Если в любом другом управляемом кластере нет службы с именем внутреннего маршрута, соответствующего тому, что связано с выбранным развертыванием, внутренний маршрут с тем же именем будет синхронно создан в соответствующем кластере для обнаружения службы. При создании внутреннего маршрута с тем же именем в других кластерах:
    • Если в кластере нет пространства имен с тем же именем, что и текущее пространство имен, это приведет к сбою создания внутреннего маршрута, что, в свою очередь, не позволит обеспечить возможности кросс-кластерного обнаружения служб.
    • Если существует существующий внутренний маршрут с тем же именем, что и тот, который связан с выбранным развертыванием в пространстве имен (с тем же именем, что и текущее пространство имен), будет использован существующий внутренний маршрут. Примечание: Если существующий внутренний маршрут имеет отличные параметры конфигурации от текущего внутреннего маршрута, связанного с выбранным развертыванием, обнаружение служб между кластерами может быть невозможно.
  • Переключатель Обнаружение служб между кластерами для всех служб с тем же именем в сети во всех кластерах будет включен.
  1. Нажмите Добавить.

    После успешного добавления службы:

    • (В методе управления Service Mesh) Служба с тем же именем, что и Служба, будет создана в списке служб.

    • Платформа автоматически обновит параметры шаблона Pod развертывания службы, добавляя или обновляя метку app: <имя службы>.
      Рекомендуется не изменять эти метки напрямую в файле YAML.

    • Перезапустите развертывание службы.
      В процессе перезапуска, пока хотя бы один Pod развертывания находится в состоянии Работает, служба находится в Онлайне; в противном случае служба находится в Оффлайне.

Добавить службу OpenTelemetry

Шаги

  1. В левой навигационной панели нажмите Список служб.

  2. Нажмите Добавить службу. В всплывающем окне метода управления выберите OpenTelemetry.

  3. Ознакомьтесь с следующими инструкциями для конфигурации соответствующих параметров.

ПараметрОписание
РазвертываниеРазвертывание, развернутое в текущем пространстве имен платформы контейнеров, которое является вычислительным компонентом, выполняющим службу.
Имя службыВ методе управления OpenTelemetry необходимо установить имя службы.
Примечание: Когда metadata.labels выбранного развертывания содержит метку asm.cpaas.io/msname: xxx, Имя службы по умолчанию принимает значение этой метки и не может быть изменено.
  1. Нажмите Добавить.

    После успешного добавления службы:

    • В режимах управления OpenTelemetry или Composite служба (Java 8+) по умолчанию будет внедрена с Java-агентом OpenTelemetry, позволяя платформе ненавязчиво собирать телеметрические данные службы и данные мониторинга JVM.

    • Компонент opentelemetry-operator будет перехватывать создание Pod служб и добавлять конфигурацию Java-агента.

    • Перезапустите развертывание службы.
      В процессе перезапуска, пока хотя бы один Pod развертывания находится в состоянии Работает, служба находится в Онлайне; в противном случае служба находится в Оффлайне.