Инструкция описывает путь нового микросервиса на главной: создание из шаблона, развёртывание на временное окружение, заказ базы данных PostgreSQL и её подключение к микросервису. Сценарий выполняется разработчиком на главной без обращения к каталогу и администрированию.
Перед началом работы
Для выполнения инструкции требуется:
- главная, настроенная администратором портала, например по инструкции «Быстрая настройка главной»;
- доступ к сущностям каталога и право на запуск процессов;
- учётные данные Kubernetes, Vault и GitLab в профиле пользователя.
Создание микросервиса
Создайте микросервис из шаблона:
- Откройте главную → «Создать микросервис».
- На шаге «Шаблон» выберите шаблон, например «Go service», и нажмите «Далее».
- На шаге «Сервис» заполните поля:
- «Название микросервиса» —
Billing API; - «Идентификатор микросервиса» — заполнится как
billing-api; - «Система» — система, в которую войдёт микросервис;
- «Пространство в системе контроля версий» — группа GitLab для репозитория.
- «Название микросервиса» —
- Нажмите «Далее», заполните параметры шаблона и нажмите «Создать микросервис».
- В окне «Запустить процесс» нажмите «Запустить».
Ход создания отображается в строке «Выполняются процессы». После завершения процесса микросервис появится в разделе «Микросервисы», а в GitLab — репозиторий billing-api.
Создание окружения
Создайте временное окружение для проверки микросервиса:
- Откройте главную → «Окружения» и нажмите «Создать окружение».
- Заполните «Идентификатор», например
billing-review, и выберите «TTL» — «7 дней». - Нажмите «Запустить».
Пока окружение создаётся, в таблице отображается строка billing-review с подписью «создаётся». Окружение появится в таблице после синхронизации каталога с кластером.
Чтобы у микросервиса был адрес на окружении, задайте домен окружения: откройте карточку окружения, нажмите значок карандаша в строке «Домен» и введите домен, например review.example.com.
Развёртывание микросервиса
Разверните микросервис на созданное окружение:
- Откройте главную → «Развертывание систем», выберите систему микросервиса и окружение
billing-review. - Нажмите «Развернуть микросервис».
- Выберите микросервис
Billing APIи окружениеbilling-review, нажмите «Далее». - В окне «Запустить процесс» нажмите «Запустить».
В колонке «Развертывания» появится карточка Billing API с подписью «создаётся», а после завершения процесса — карточка развёртывания с параметрами реплик и ресурсов.
При заданном домене окружения процесс из набора данных создаёт Ingress с хостом billing-api.review.example.com, который отображается в колонке «Инфраструктура».
Заказ базы данных
Закажите базу данных PostgreSQL для микросервиса:
- В разделе «Развертывание систем» нажмите «Заказать ресурс» под колонкой «Ресурсы данных».
- В окне «Заказать ресурс» выберите «Сервис» — процесс заказа PostgreSQL. Окружение
billing-reviewуже выбрано. - Нажмите «Далее» и в окне «Запустить процесс» нажмите «Запустить».
В колонке «Ресурсы данных» появится карточка ресурса. Реквизиты подключения к базе данных записываются в Vault.
Подключение базы данных
Подключите базу данных к развёртыванию микросервиса:
- Нажмите на точку слева на карточке базы данных и перетащите линию на карточку развёртывания
Billing API. - В окне «Запустить процесс» нажмите «Запустить».
После завершения процесса на схеме отображается линия подключения, а секреты базы данных доставлены в приложение.
Обновление из шаблона
Когда автор шаблона выпустит новую версию, в карточке микросервиса появится блок «Доступна версия {version}».
Обновите микросервис:
- Откройте главную → «Микросервисы» и выберите
Billing API. - Нажмите «Обновить» и в окне «Запустить процесс» нажмите «Запустить».
- Откройте запрос на слияние
Upgrade <шаблон> to <версия>в GitLab, проверьте изменения и примите его.
Удаление
DDP записывает TTL в лейбл ddp.deckhouse.io/deletion-ttl неймспейса. Окружение удаляется по истечении TTL, если в кластере настроена очистка неймспейсов по этому лейблу. Чтобы удалить окружение сразу, откройте его карточку в разделе «Окружения» и нажмите «Удалить окружение» в блоке «Опасная зона».
Удаление окружения удаляет все развёртывания в нём.