Облачная платформаAdvanced

Создание и развертывание компонента

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

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

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

  • Компоненты с одинаковым именем в одном приложении нельзя развернуть в одной и той же среде.
  • Компоненты с одинаковым именем в разных приложениях можно развернуть в одной и той же среде.

Требования

  1. Приложение было создано, поскольку компоненты могут быть добавлены только в приложения. Подробнее см. Creating an Application.
  2. Среда была создана и ресурсы управляются, поскольку компоненты необходимо развернуть в указанной среде. Подробнее см. Environment Management.
  3. Организация была создана, поскольку образ, созданный при развертывании компонента, необходимо управлять на уровне организации. Подробнее см. Creating an Organization.
  4. (Optional) Пространство имён было создано, если вы хотите создать и развернуть компонент в среде Kubernetes. Подробнее см. Creating a Namespace.
  5. Если вы создаёте компонент на основе репозитория исходного кода, сначала создайте авторизацию репозитория. Подробнее см. Authorizing a Repository.
  6. Если вы создаёте компонент на основе программного пакета, программный пакет был загружен в программный репозиторий SWR или бакет OBS.
    • Загрузите программный пакет в программный репозиторий. Подробнее см. Uploading a Software Package.
    • Загрузите программный пакет в OBS. Подробнее см. Uploading a File.
  7. Если вы создаёте компонент на основе образа, подготовьте образ, обратившись к Component Source.

Процедура

  1. Войдите в ServiceStage.
  2. Используйте любой из следующих методов, чтобы перейти на страницу Create Component:

    • Выберите Component Management > Create Component.
    • На странице Application Management выберите приложение, для которого вы хотите создать компонент, и нажмите Create Component в столбце Operation.
    • На странице Application Management нажмите приложение, для которого вы хотите создать компонент. На отображаемой странице Overview нажмите Create Component.

  3. В области Basic Information настройте компонент, руководствуясь следующей таблицей. Параметры, отмеченные звездочкой (*), являются обязательными.

    Параметр

    Описание

    *Component Name

    Имя компонента.

    *Component Version

    Номер версии компонента, который может быть сгенерирован автоматически или задан вручную.

    • Автоматически сгенерировано: нажмите Generate. По умолчанию номер версии — время, когда вы нажали Generate. Формат: yyyy.mmdd.hhmms, где s — единицы секунды в метке времени. Например, если метка времени 2022.0803.104321, номер версии будет 2022.0803.10431.
    • Настраиваемый: введите значение в формате A.B.C или A.B.C.D. A, B, C и D — натуральные числа. Например, 1.0.0 или 1.0.0.0.

    *Среда

    Среда развертывания компонента.

    *Приложение

    Приложение, к которому относится компонент.

    *Метки

    ServiceStage позволяет добавлять метки типа «ключ‑значение» для управления и выбора компонентов, например, для настройки планирования с учётом аффинности и антиаффинности.

    1. Нажмите Add Label.
    2. В диалоговом окне Add Label нажмите Add Label.
    3. Введите ключ и значение.
    4. Нажмите OK.

    Описание

    Описание компонента.

    1. Нажмите и введите описание компонента.
    2. Нажмите , чтобы сохранить описание компонента.

      Нажмите , чтобы отменить настройку.

    Рисунок 1 Настройка основной информации о компоненте


  4. В области Component Package настройте пакет компонента, ссылаясь на таблицу ниже. Параметры, отмеченные звездочкой (*), являются обязательными.

    Параметр

    Описание

    *Stack

    1. Выберите тип технологического стека компонента в зависимости от режима развертывания компонента. Подробнее см. Table 1.
    2. Выберите технологический стек в раскрывающемся списке Name.
    3. (Optional) Установите JVM для настройки размера параметра памяти во время выполнения Java‑кода. Этот параметр доступен, когда выбран технологический стек Java или Tomcat.

      Нажмите Stack Settings и задайте JVM, например, -Xms256m -Xmx1024m. Параметры разделяются пробелами.

    4. (Optional) Установите параметры Tomcat для настройки таких параметров, как путь запроса Tomcat и номер порта. Этот параметр доступен, когда выбран технологический стек Tomcat.
      1. Нажмите Stack Settings и выберите Tomcat. Появится диалоговое окно Tomcat.
      1. Нажмите Use Sample Code и отредактируйте файл шаблона в соответствии с требованиями сервиса.
      2. Нажмите OK.

    *Source Code/Software Package

    Если вы выбираете Source code repository, создайте авторизацию, ссылаясь на Authorizing a Repository, и укажите источник кода.

    Если вы выбираете программный пакет, тип программного пакета, поддерживаемый источником компонента, определяется выбранным типом стека технологий. Подробнее см. Table 1.

    *Upload Method

    Если источник компонента — software package или image package, выберите загруженный software package или image package. Подробнее о методе загрузки см. Component Source.

    Figure 2 Настройка параметров программного пакета


  5. В области Build Job задайте параметры сборки, ссылаясь на следующую таблицу. Параметры, отмеченные звездочкой (*), являются обязательными.

    Эта область обязательна, если компонент развернут на основе CCE и выбранный тип стека технологий — Java, Tomcat, Node.js, Python или PHP.

    Parameter

    Description

    *Command

    Если источник компонента — Source code repository, задайте Command в соответствии с требованиями сервиса.

    • Команда или скрипт по умолчанию: предпочтительно выполняет build.sh в каталоге root. Если build.sh отсутствует, код будет компилироваться с использованием общего метода выбранного языка. Пример: mvn clean package для Java.
    • Custom command: Команды настраиваются с использованием выбранного языка. В качестве альтернативы используется команда или скрипт по умолчанию после изменения build.sh.
      NOTICE:
      • If Custom command is selected, exercise caution when inputting sensitive information in the echo, cat, or debug command, or encrypt sensitive information to avoid information leakage.
      • Чтобы выполнить команду компиляции в подкаталоге проекта, необходимо перейти в подкаталог проекта, а затем запустить другие скриптовые команды. Например:

        cd ./weather/

        mvn clean package

    *Dockerfile Address

    Если источник компонента Source code repository, задайте Dockerfile Address в соответствии с требованиями сервиса.

    Dockerfile Address — это каталог, в котором находится Dockerfile относительно корневого каталога (./) проекта. Dockerfile используется для создания образа.

    Если Dockerfile Address не указано, система по умолчанию ищет Dockerfile в корневом каталоге проекта. Если Dockerfile отсутствует в корневом каталоге, система автоматически генерирует Dockerfile на основе выбранной операционной среды.

    *Organization

    Организация используется для управления образами, создаваемыми во время сборки компонента.

    *Build

    Выберите тип среды, используемой для сборки образа. Среда сборки должна быть средой Kubernetes и иметь доступ к Интернету.

    Рекомендуется выбрать Use current environment. Если кластер CCE в текущей среде не имеет доступа к Интернету и вы запланировали независимую среду сборки, можно выбрать Use independent environment.

    • Use independent environment: используйте независимую среду сборки для создания образа. Кластеры CCE в независимой среде сборки и в текущей среде развертывания компонента должны иметь одинаковую архитектуру CPU. В противном случае развертывание компонента завершится с ошибкой.
    • Use current environment: используйте среду развертывания, к которой относится компонент, для создания образа. В текущей среде мастера и узлы кластера CCE должны иметь одинаковую архитектуру CPU. В противном случае сборка компонента завершится с ошибкой.

    *Environment

    • Use independent environment: выберите независимую среду сборки, отличную от той, к которой относится компонент.
    • Use current environment: Выберите среду развертывания, к которой относится компонент.

    *Namespace

    Выберите пространство имён CCE‑кластера в среде, где выполняется сборка, которое используется для изоляции данных сборки. Подробную информацию о пространствах имён см. в Managing Namespaces.

    Node Label

    Вы можете использовать node label для доставки задания сборки на фиксированный узел, привязанный к EIP.

    Подробную информацию о том, как добавить метку, см. в Managing Node Labels.

    Рисунок 3 Настройка параметров сборки


  6. Нажмите Next.
  7. В области Resources задайте ресурсы, необходимые компоненту.

    Установите параметры, ориентируясь на таблицу ниже. Параметры, отмеченные звездочкой (*), являются обязательными.

    Parameter

    Description

    *Resources

    Компоненты не могут быть запланированы на узлы, у которых остаточные ресурсы меньше запрошенного объёма. Подробную информацию о том, как настроить параметры request и limit, см. в Resource Management.

    Вы можете настроить CPU и Memory, задав их квоту, а также установить максимальное/минимальное количество ядер CPU и размер памяти (GiB), которые могут использовать компоненты. Чтобы изменить их, выберите нужный элемент и введите новое значение.

    Не выбранные параметры указывают отсутствие ограничений.

    *Instances

    Установите количество экземпляров компонентов, работающих в среде. Диапазон значений: 1–200.

    *Namespace

    Выберите пространство имён контейнера, в котором находится экземпляр компонента.

    Рисунок 4 Развёртывание ресурсов компонентов


  8. (Optional) В области Access Mode включите Public Network Access.

    Нажмите , чтобы включить публичный доступ и задать следующие параметры:

    1. Установите Public Network Load Balancer.
      • Выберите ресурс Elastic Load Balance (ELB), привязанный к elastic IP address (EIP) в выбранной среде.
      • Если ресурс ELB отсутствует, нажмите Add One. На странице Edit Environment, отображаемой, нажмите Add Optional Resource, чтобы добавить созданные ресурсы ELB в среду.
      • Подробную информацию о том, как создать ресурс ELB, см. Creating a Dedicated Load Balancer.
        Note
        • EIP привязан к балансировщику нагрузки и должен находиться в том же VPC и подсети, что и вычислительные ресурсы, управляемые в текущей среде развертывания компонентов.
        • Компоненты должны быть привязаны к разным балансировщикам нагрузки в разных средах развертывания, чтобы избежать ошибок маршрутизации.
    2. (Optional) Установите Client Protocol.
      • HTTP имеет проблемы с безопасностью. Рекомендуется выбрать HTTPS.
      • Если HTTPS выбран, нажмите Use existing, чтобы выбрать существующий сертификат.

        Если сертификат отсутствует, нажмите Create new, чтобы создать сертификат сервера. Подробности см. в Creating a Certificate.

    3. Установите Domain Name.

      Введите пользовательское доменное имя.

    4. Установите Listening Port.

      Введите номер порта прослушивания процесса приложения.

    Figure 5 Настройка публичного доступа


  9. (Optional) В области Local Time задайте часовой пояс контейнера.

    Этот параметр доступен, когда компонент развернут на основе CCE.

    По умолчанию часовой пояс совпадает с часовым поясом региона, в котором находится узел контейнера.

  10. (Optional) Установите Advanced Settings.

    • Если компонент развернут на основе CCE, обратитесь к следующей таблице.

      Тип операции

      Операция

      Описание

      Microservice Engine

      Привязка микросервисного движка

      Привяжите микросервисный движок и подключите к нему компонент.

      ПРИМЕЧАНИЕ:

      После того как компонент, разработанный на основе ServiceComb 2.7.8 или более новой версии или Spring Cloud Huawei 1.10.4-2021.0.x или более новой версии, будет подключён к микросервисному движку, следующие атрибуты будут внедрены в параметр properties параметра MicroServiceInstance при создании микросервисного экземпляра в микросервисном движке:

      1. CAS_APPLICATION_ID: Идентификатор приложения, к которому относится компонент.
      2. CAS_COMPONENT_NAME: имя компонента.
      3. CAS_ENVIRONMENT_ID: Идентификатор среды развертывания компонента.
      4. CAS_INSTANCE_ID: Идентификатор экземпляра компонента.
      5. CAS_INSTANCE_VERSION: версия экземпляра компонента.
      1. Выберите Advanced Settings > Microservice Engine.
      2. Нажмите Bind Microservice Engine.
      3. Выберите экземпляр микросервисного движка, который уже привязан в среде.
      4. Нажмите OK.
        ПРИМЕЧАНИЕ:

        Переместите курсор к привязанному микросервисному движку и выполните следующие операции:

        • Повторно привяжите микросервисный движок: нажмите , снова выберите целевой микросервисный движок и нажмите OK.
        • Удалите привязанный микросервисный движок: нажмите .
      5. (Необязательно) Выберите Addons.
        • Mesher: Введите номер порта прослушивания процесса приложения, чтобы включить многоязычный доступ к сервисной сетке. Вы можете использовать Mesher для подключения компонентов, не разработанных в микросервисном фреймворке, к микросервисному движку.
        ПРИМЕЧАНИЕ:
        • Для компонентов, не являющихся микросервисами и разработанных с использованием Java, Tomcat или Docker, вы можете включить Mesher и использовать Mesher для подключения компонентов к CSE для реестра и обнаружения микросервисов.
        • Для компонентов, разработанных с использованием Python, PHP или Node.js, принудительно включите Mesher и подключите компоненты к CSE для реестра и обнаружения микросервисов.
        • Sermant Injector: Агент Sermant может быть автоматически смонтирован с помощью плагина Sermant Injector, установленного в CCE в среде развертывания компонентов. Таким образом, компонент может быть подключен к микросервисному движку через агент Sermant. Подробную информацию о том, как установить плагин Sermant Injector, см. Installing Sermant Injector.

      Distributed Cache Service

      Привязка распределенного кэша

      В распределенной системе сервис распределенного кэша обеспечивает масштабируемое и надежное управление пользовательскими сеансами.

      Выберите Advanced Settings > Distributed Cache Service и привяжите распределенный кэш. Подробности см. Configuring a Distributed Cache.

      Cloud Database

      Привязка cloud database

      Для постоянного хранения данных приложения требуется cloud database.

      Выберите Advanced Settings > RDS DB instance и привяжите cloud database. Подробнее см. Configuring Relational Databases.

      Component Configuration

      Настройка переменных среды

      Переменные среды задаются в среде выполнения контейнера и могут быть изменены после развертывания компонента, обеспечивая гибкость приложений. Переменные среды, установленные для компонента, являются локальными переменными среды и действуют только для этого компонента.

      Выберите Advanced Settings > Component Configuration и задайте переменные среды. Подробнее см. Configuring Environment Variables of a Component.

      Deployment Configuration

      Настройка команды запуска

      Команда запуска используется для запуска контейнера.

      Выберите Advanced Settings > Deployment Configuration и задайте команду запуска. Подробнее см. Configuring the Lifecycle of a Component.

      Настройка хранения данных

      Хранилище контейнера — это компонент, предоставляющий хранилище для приложений. Поддерживается несколько типов хранилищ. Компонент может использовать произвольный объём хранилища.

      Выберите Advanced Settings > Deployment Configuration и настройте хранение данных. Подробнее см. Configuring Data Storage.

      Настройка жизненного цикла

      Для компонентов, развернутых в контейнерах, ServiceStage предоставляет callback‑функции для управления жизненным циклом приложений. Например, если требуется, чтобы компонент приложения выполнил определённую операцию перед остановкой, можно зарегистрировать hook function.

      Выберите Advanced Settings > Deployment Configuration и настройте жизненный цикл. Подробности см. в Configuring the Lifecycle of a Component.

      Настройка политики планирования

      Для компонентов, развернутых на основе контейнеров, ServiceStage делит их на минимальные экземпляры развертывания в соответствии с характеристиками развертывания компонентов. Планировщик приложений в режиме реального времени отслеживает информацию об экземплярах приложений. При обнаружении необходимости планировать новый pod планировщик приложений рассчитывает все оставшиеся ресурсы (вычислительные, дисковые и сетевые ресурсы) в кластере, чтобы определить наиболее подходящий целевой узел для планирования.

      Выберите Advanced Settings > Deployment Configuration и настройте политику планирования. Подробности см. в Configuring a Scheduling Policy of a Component Instance.

      O&M Monitoring

      Настройка сбора логов

      Для компонентов, развернутых на основе контейнеров, ServiceStage поддерживает настройку политик логов приложений. Связанные логи можно просматривать в консоли AOM. Политику логов можно задать во время или после развертывания компонента. Если конфигурация не выполнена, система по умолчанию собирает стандартные выводные логи приложения.

      Выберите Advanced Settings > O&M Monitoring и настройте сбор логов. Подробности см. в Configuring a Log Policy of an Application.

      Настройка проверки работоспособности

      Проверка работоспособности периодически проверяет состояние здоровья приложения во время работы компонентов, развернутых на основе контейнеров.

      Выберите Advanced Settings > O&M Monitoring и настройте проверку работоспособности. Подробности см. в Configuring Health Check.

      Настройка управления производительностью

      Сервис Application Performance Management (APM) помогает быстро обнаруживать проблемы приложений и анализировать узкие места производительности, улучшая пользовательский опыт. ServiceStage позволяет настроить управление производительностью приложений во время или после развертывания компонента.

      APM можно настроить для компонентов, технологический стек которых является Java, Tomcat или Docker.

      Выберите Advanced Settings > O&M Monitoring и настройте управление производительностью. Для получения подробной информации см. Configuring Application Performance Management.

      Настройка пользовательского мониторинга

      ServiceStage позволяет получать данные мониторинга на основе пользовательских метрик. Вы можете настроить мониторинг пользовательских метрик во время или после развертывания компонента. Компоненты, развернутые на основе CCE, поддерживают пользовательский мониторинг.

      Выберите Advanced Settings > O&M Monitoring и настройте пользовательский мониторинг. Для получения подробной информации см. Configuring Custom Monitoring of a Component.

      Рисунок 6 Настройка расширенных параметров компонента Kubernetes


  11. Нажмите Create and Deploy.

    На странице Deployment Records просмотрите журналы развертывания и дождитесь завершения развертывания компонента.