Деплой приложения из интерфейса
Сущности, с которыми вы будете работать:
- Приложение — нагрузки, которые должны деплоится одновременно.
- Компонент — нагрузка, в текущих реалиях «кубовая» — Deployment. Он состоит из сервисов сервис-каталога. В «кубовых» аналогиях — сервис есть контейнер внутри деплоймента.
- Ревизия — релиз приложения с замороженным состоянием связанных ресурсов: секретов, конфигмап и сетевых доступов.
Создание и настройка
Шаг 1. Проверьте роль
Убедитесь, что у вас есть одна из ролей:
- DaaS Developer — редактирования существующего приложения и создания ревизий;
- DaaS Release Manager — полное управление приложением, ревизиями, деплоем;
- Project Lead — дублирование функций DaaS Release Manager.
Шаг 2. Подготовьте сервис
Создайте репозиторий
Создайте репозиторий. Как создать репозиторий
По умолчанию все репозитории публичные. Код будет доступен всем пользователям платформы Spirit. Если вы не хотите публиковать код своего сервиса:
- используйте деплой приложения из готового образа под платформу Linux
- или напишите в поддержку Spirit, чтобы сделать репозиторий приватным.
Заведите сервис в Каталоге ПО
Для этого создайте в репозитории файл с именем service.yaml и не забудьте указать
- env-переменные, если есть
- imageStream в формате
<docker-registry>/<tenant>/<repo> - порт для метрик (если порт для метрик и приложения совпадает, оставьте только метрики)
- пробы
Пример файла - service.yaml. Как заполнять
-
Чтобы в каталоге ПО появилась версия сервиса, тег должен быть создан на ветке
masterи соответствовать маскеrelease-*. -
docker-registry:
acr.polygon.t-technologies.ru- адрес для работы локально и из CI/CD, указывается вimageStreamвservice.yaml
Опубликуйте докер образ
Теги в репозитории и в docker-образе должны совпадать.
- Создайте сервис-аккаунт
- Настройте локальное окружение Artifactory
- Соберите образ средствами ci/cd или локально
- ❗ укажите релизный тег, который совпадает с тегом на ветке
master - ❗ при билде образа локально укажите платформу linux
--platform=linux/amd64
- ❗ укажите релизный тег, который совпадает с тегом на ветке
- Опубликуйте образ в Container Registry
acr.polygon.t-technologies.ru, выполнив push
Шаг 3. Создайте приложение
Чтобы создать приложение в новом интерфейсе:
-
Зайдите в Spirit.
-
Выберите в левом меню Деплой и операции → Приложения.

-
Нажмите в правом верхнем углу Новое приложение.
-
Заполните поля:
- Окружение — дефолтное значение Development.
- Название приложения — придумайте понятное имя без «официальных» слов. Используйте только строчные латинские буквы, цифры, дефисы и точки.
- Описание.
- Целевые кластеры.
-
Нажмите Создать приложение.
Шаг 4. Создайте компонент
-
Нажмите + или + Компонент.
-
Заполните поля:
- Название компонента — аналог названия вашей нагрузки в кубе.
- Сервис — из сервис-каталога.
- Docker-образ — «подтянется» из сервиса
- Версия — какую хотите выкатить.
- Количество реплик — от 2 до 20 количество копий приложения, которые необходимы для переваривания нагрузки
- ЦПУ.
- Память.
-
Настройте сетевые доступы при необходимости - как добавить сетевой доступ
-
Нажмите в правом верхнем углу Сохранить изменения в Draft. Теперь они не локальные, можно обновлять страницу.
Шаг 5. Создайте ревизию
-
Нажмите Создать ревизию. Ревизия обновится в поле рядом с названием приложения. Оттуда исчезнет название «Draft».

-
Нажмите в правом верхнем углу Деплой.
-
Нажмите Да, задеплоить.
-
Обновите страницу.
Логи сервиса станут доступны на общем борде в Graphana - Workload logs
У вашего компонента автоматически появится доска в Grafana - Workload stats

Шаг 6. Публикация на LBaaS
Чтобы опубликовать на LBaaS
- Создайте merge request в репозиторий lbaas-publications через Fork.
- Запустите pipeline, если он не запустился автоматически, по кнопке
run pipelineв merge request- если job-а завершилась успешно, то будет выполнен автомерж.
- если job-а завершилась с ошибками, поправьте ошибки линтеров. Если это не помогло сообщите в поддержку Spirit.
- DNS запись появится в течение 5-10 минут на домене
*.polygon.t-technologies.ru
---
hosts:
- docs.polygon.t-technologies.ru # домен для публикации <any_name>.polygon.t-technologies.ru
lbCluster:
type: common
logs:
drop200: false
sageGroup: any # любое значение
pathMatchers:
- endpoints:
- k8sMatch:
namespace: docs-daas-example-daas # неймспейс приложения <tenant>-<application_name>-<daas>
service: daas-service-docs # имя сервиса по правилу daas-service-<component_name>
port: 8080 # номер порта на который подавать трафик, из service.yaml
match:
prefix: /
publicationType: INTERNAL
Редактирование сетевых доступов
- Откройте компонент на редактирование
- Перейдите на шаг Сетевые доступы
- Нажмите + и выберите тип доступа:
- Postgres - как создать инстанс БД
- Приложения - приложение созданное средствами Deploy as a Service
- Кастомные Хосты
- Кастомные CIDR

- Заполните все необходимые поля
- Cтатус предоставления доступа обновится автоматически
- Нажмите Сохранить

Редактирование
-
Зайдите в Spirit.
-
Выберите в левом меню Деплой и операции → Приложения.
-
Перейдите на вкладку Конфигурация.

-
Отредактируйте информацию.
-
Нажмите Сохранить изменения в Draft.
Удаление
Приложение — пока удалить нельзя, но в будущем добавим такую возможность.
Ревизии — нельзя удалить, не планируем добавить.