Русский
Основные понятия
Интерфейс PDM построен вокруг десятка понятий. Ниже они разобраны по порядку — от самого крупного к самому мелкому.
Как всё устроено целиком
Сущности вложены друг в друга:
- кластер содержит проекты;
- проект содержит стенды;
- на стенде работают приложения платформы;
- у каждого приложения на стенде есть свои настройки и своя версия.
Поэтому один и тот же стенд всегда описывается парой «кластер + имя»: имена стендов повторяются в разных кластерах, и легко перепутать тестовый с боевым.
Кластер
Кластер — отдельная площадка Kubernetes, на которой развёрнуты окружения. Это верхний уровень иерархии. Кластеров обычно несколько, и они отличаются назначением — например, для тестирования и для боевой работы.
Список кластеров PDM не ведёт вручную, а получает из инфраструктуры. Подключением кластеров занимается администратор.
Проект
Проект — группировка стендов внутри кластера. Своей страницы у проекта нет: он показан меткой у имени стенда и помогает понять, к какой команде или направлению стенд относится.
Стенд (неймспейс)
Стенд — конкретное окружение: один развёрнутый экземпляр платформы со своим набором приложений, своими настройками и своим адресом. Это главный объект системы, и почти вся работа в PDM идёт вокруг него.
Технически стенд — это неймспейс (namespace) в кластере Kubernetes, то есть изолированный участок кластера со своим набором запущенных приложений. Слово «неймспейс» встречается в адресах страниц, но в интерфейсе и в этой документации используется более привычное «стенд».
Пример: стенд prj-demo в кластере для тестирования — это отдельная копия платформы, на которой можно проверять изменения, не задевая остальных.
Приложение платформы
Приложение платформы (в интерфейсе — «Сервис», «Компонент») — одна из составных частей платформы: интерфейс пользователя, серверный сервис, служебный компонент. Платформа собрана из нескольких таких приложений, и на каждом стенде они крутятся все вместе.
У приложения есть имя, набор настраиваемых параметров и версия, выложенная на конкретном стенде. Справочник приложений ведёт администратор — приложения одинаковы для всех стендов, различаются только их версии и настройки.
Конфигурация стенда
Конфигурация стенда — все настройки приложений на этом стенде. Каждая настройка — это отдельный параметр: галочка, строка, число, номер версии или выбор из списка.
У параметра два «этажа»:
- значение по умолчанию — общее для всей платформы, одинаковое для всех стендов;
- переопределение — значение, заданное именно для этого стенда.
Правило простое: если у стенда есть переопределение, работает оно; если нет — работает значение по умолчанию.
Версия приложения
Версия приложения — это тег образа, который выложен на стенде. Формально версия — такой же параметр конфигурации, как остальные, только вынесенный из общего списка настроек отдельно.
Действие над приложением
Действие над приложением — операция, которую можно запустить для конкретного приложения: собрать образ из ветки, собрать новую версию или просто указать уже готовый тег. Любое действие в итоге даёт тег образа — именно он и становится версией приложения на стенде.
Отсюда самый частый сценарий работы: вместо того чтобы вписывать версию руками, вы выбираете действие сборки из ветки, и PDM сам подставит тег собранного образа в настройки стенда.
Сборка и пайплайн
Сборка — запуск подготовки образа приложения. PDM не собирает ничего сам: он запускает пайплайн в GitLab — заранее настроенную последовательность шагов, которая собирает код и публикует образ.
Пока пайплайн идёт, PDM периодически проверяет его состояние, поэтому шаг сборки может долго оставаться в состоянии «Выполняется» — это нормально. В интерфейсе у сборки есть ссылка на пайплайн и его лог.
Релиз
Релиз — одно согласованное изменение конфигурации, раскатываемое сразу на много стендов. В отличие от правки одного стенда, релиз обновляет значения по умолчанию (то есть касается всех), отдельно решает судьбу стендов с собственными переопределениями и завершается массовым применением изменений.
Релизы нумеруются и остаются в истории: видно, кто и когда его создал, что менялось и чем всё закончилось.
Рабочее пространство
Рабочее пространство — одна длительная операция, разложенная на шаги. Так выполняются выкладка настроек стенда, сборка и релиз. У каждого шага свой статус, данные и лог, а сами шаги связаны в схему: часть выполняется параллельно, а завершающий шаг ждёт, пока отработают все остальные.
Благодаря этому кнопка в интерфейсе срабатывает мгновенно, а за самой работой вы наблюдаете отдельно — и видите не «идёт или не идёт», а конкретный шаг, на котором операция находится.
Коротко
| Термин | Что это одной строкой |
|---|---|
| Кластер | площадка Kubernetes, внутри которой живут проекты и стенды |
| Проект | группировка стендов внутри кластера, метка рядом с именем стенда |
| Стенд (неймспейс) | отдельное окружение — один развёрнутый экземпляр платформы |
| Приложение платформы | составная часть платформы, работающая на стенде |
| Параметр конфигурации | одна настройка приложения на стенде |
| Значение по умолчанию | общее значение параметра для всех стендов |
| Переопределение | собственное значение параметра на конкретном стенде |
| Версия приложения | тег образа, выложенный на стенде |
| Действие над приложением | сборка ветки, сборка версии или установка готового тега |
| Сборка (пайплайн) | подготовка образа приложения в GitLab |
| Релиз | согласованное изменение конфигурации сразу на многих стендах |
| Рабочее пространство | длительная операция, разложенная на шаги |
Одно понятие — разные подписи
Одно и то же понятие подписано на экране по-разному: приложение платформы встречается и как «Сервис» (вкладка «Сервисы»), и как «Компонент» (колонка в таблице конфигурации); рабочее пространство в разделе «Рабочие пространства» называется «Обработка»; стенд остаётся неймспейсом в адресах страниц. Это те же самые понятия.
Что дальше
- Что такое PDM — зачем нужна система и как она связана с внешними.
- Стенды — главный рабочий раздел.
- Устройство интерфейса — где всё это искать на экране.