Инструкция описывает настройку главной на новой установке Deckhouse Development Portal (DDP, портал) с каноничной моделью каталога. В результате на главной отображаются окружения и развёртывания кластера, а разработчики создают микросервисы из шаблонов и разворачивают их на окружения.
Перед началом работы
Для выполнения инструкции подготовьте:
- пользователя портала с разрешениями
apply:seeds,update:home-mapping-sets,edit:template-registriesиread:template-packs, например с пресетом роли «Admin»; - URL API-сервера Kubernetes и токен сервисного аккаунта с правами на создание неймспейсов и развёртываний;
- URL Vault или Deckhouse Stronghold и токен доступа;
- URL GitLab, персональный токен GitLab с правами на создание проектов и имя пользователя GitLab;
- хранилище образов контейнеров с опубликованными пакетами шаблонов. Как опубликовать пакет, описано в примере «Создание и публикация шаблона микросервиса».
Применение наборов данных
Наборы данных создают модель каталога, правила маппинга, подключения к внешним системам, источники данных и процессы главной.
Чтобы применить наборы данных:
Перейдите в раздел «Администрирование» → «Справочники» → «Наборы данных» и нажмите «Первоначальная настройка».
На шаге «Пресет» выберите «Настройка платформы». Чтобы наполнить каталог примерами, выберите «Настройка платформы с демоданными».
На шаге «Выбор» оставьте все наборы отмеченными и нажмите «Далее».
На шаге «Параметры» заполните обязательные параметры:
- «URL Kubernetes API» в наборе «Kubernetes», например
https://api.cluster.example.com; - «URL Vault» в наборе «Vault», например
https://vault.example.com; - «URL GitLab» в наборе «GitLab», например
https://gitlab.example.com.
Остальные параметры мастер заполняет автоматически.
- «URL Kubernetes API» в наборе «Kubernetes», например
На шаге «Проверка» включите «Подтвердить применение» и нажмите «Применить».
Дождитесь сообщения «Все выбранные наборы успешно применены».
Если применение набора завершилось ошибкой, исправьте причину и нажмите «Повторить с текущего».
Включение главной
Главная выключена после установки портала. Включите её:
- Перейдите в раздел «Администрирование» → «Справочники» → «Правила маппинга».
- Убедитесь, что в таблице есть набор «Главная (по умолчанию)» с включённым переключателем «По умолчанию для главной».
- Включите переключатель «Показывать главную».
В верхней панели портала появится вкладка «Главная».
Учётные данные
Процессы главной выполняют действия в Kubernetes, Vault и GitLab с учётными данными пользователя, который их запускает.
Заполните учётные данные в профиле пользователя: токен Kubernetes, токен Vault, токен и имя пользователя GitLab. Порядок описан в разделе «Учётные данные».
Каждый пользователь, который запускает процессы с главной, заполняет учётные данные в своём профиле.
Окружения из кластера
Источники данных Kubernetes загружают в каталог только неймспейсы, Deployment и Ingress с лейблом ddp.deckhouse.io/environment. Неймспейсы, созданные кнопкой «Создать окружение» на главной, получают лейбл автоматически.
Чтобы существующий неймспейс отображался на главной как окружение, добавьте ему лейбл со значением, равным имени неймспейса:
d8 k label namespace <NAMESPACE> ddp.deckhouse.io/environment=<NAMESPACE>Где <NAMESPACE> — имя неймспейса.
Неймспейсы d8-* и kube-* не загружаются.
Окружение появится в разделе «Окружения» после синхронизации источника данных неймспейсов из набора «Kubernetes: deployments, ingresses и namespaces». Заполните в каталоге параметры окружения, которые не приходят из кластера: тип, домен и связь с кластером.
Подключение реестра шаблонов
Реестр шаблонов подключает хранилище образов с пакетами шаблонов. Подключите хранилище:
- Перейдите в раздел «Администрирование» → «Интеграции» → «Шаблоны».
- На вкладке «Реестры» нажмите «Подключить реестр» и заполните поля:
- «Название» — например
company; - «Реестр» — хост хранилища, например
registry.example.com; - «Префикс репозиториев» — например
ddp-templates; - «Имя пользователя» и «Пароль» — учётные данные хранилища.
- «Название» — например
- Сохраните подключение.
- На вкладке «Настройки» включите «Включить синхронизацию» и сохраните настройки.
- На вкладке «Запуски синхронизации» нажмите «Синхронизировать» и дождитесь статуса «Успех».
- На вкладке «Шаблоны» проверьте, что у версий шаблонов статус «доступна».
Если синхронизация завершилась ошибкой, текст ошибки отображается в колонке «Ошибка». Причины ошибок описаны в разделе «Реестр шаблонов».
Привязка процессов к шаблонам
Действия над микросервисом выполняют процессы, привязанные к шаблону микросервиса. Набор данных «Реестр шаблонов микросервисов» создал процессы, которые подходят для любого шаблона.
Привяжите процессы к каждому шаблону:
- Перейдите в раздел «Администрирование» → «Справочники» → «Правила маппинга» и откройте набор «Главная (по умолчанию)».
- На вкладке «Маппинг каталога» раскройте область «Микросервисы» и найдите блок «Действия по шаблонам».
- Нажмите «Добавить шаблон» и выберите шаблон в поле «Шаблон».
- Выберите процессы действий:
- «Создать микросервис» — «Создать микросервис из шаблона»;
- «Развернуть микросервис на окружение» — «Развернуть микросервис на окружение»;
- «Удалить микросервис с окружения» — «Удалить микросервис с окружения»;
- «Обновить микросервис из шаблона» — «Обновить микросервис из шаблона».
- Повторите шаги 3–4 для остальных шаблонов и нажмите «Сохранить».
Проверка результата
Проверьте работу главной на создании микросервиса:
- Откройте вкладку «Главная» → «Создать микросервис».
- Выберите шаблон, заполните шаги «Сервис» и «Параметры» и нажмите «Создать микросервис».
- В окне «Запустить процесс» нажмите «Запустить».
- Дождитесь завершения процесса в панели «Мои активности».
Главная настроена, если выполнены условия:
- в GitLab создан проект микросервиса с файлом
.ddp/template.lock.yaml; - микросервис отображается в разделе «Микросервисы», а в его карточке заполнены поля «Шаблон» и «Версия»;
- в разделе «Окружения» отображаются окружения кластера.
Следующие шаги
После базовой настройки выполните при необходимости:
- настройку автоматического обновления микросервисов — пример «Выпуск новой версии шаблона и обновление микросервисов»;
- добавление собственных процессов на главную — пример «Собственный процесс заказа ресурса»;
- выдачу разработчикам доступа к сущностям каталога — раздел «Права доступа».