• Русский
  • Понимание Tekton Hub

    Tekton Hub — это веб-интерфейс с графическим пользовательским интерфейсом, который служит централизованным репозиторием и платформой для поиска ресурсов Tekton. Он предоставляет удобный способ доступа, поиска и обмена повторно используемыми компонентами Tekton из Tekton Catalog, позволяя разработчикам быстро находить и интегрировать готовые блоки CI/CD в свои конвейеры.

    Терминология

    ТерминОписание
    CatalogКоллекция ресурсов Tekton, организованная согласно структуре Tekton Catalog Organization TEP
    ResourceКомпонент Tekton, такой как Task, Pipeline или другие строительные блоки, хранящиеся в каталоге
    RatingОценка, предоставленная пользователями для ресурсов в Tekton Hub
    CategoryКлассификация ресурсов по их назначению или функциональности
    API ServiceБэкенд-сервис, обеспечивающий доступ к данным и управление для Tekton Hub
    UIВеб-интерфейс для взаимодействия пользователей с Tekton Hub

    Зачем нужен Tekton Hub

    Проблема поиска и повторного использования ресурсов

    В традиционных CI/CD средах команды часто сталкиваются с проблемой поиска и обмена повторно используемыми компонентами. Без централизованного репозитория разработчики часто:

    • Изобретают велосипед, создавая похожие компоненты конвейера с нуля
    • Испытывают трудности с поиском качественных, протестированных компонентов для распространённых задач
    • Не имеют видимости того, какие компоненты уже существуют в их организации или в более широком сообществе
    • Трудно определяют, какие компоненты хорошо поддерживаются и надёжны

    Это приводит к неэффективности, несогласованности и дублированию усилий между командами и проектами.

    Решение Tekton Hub

    Tekton Hub решает эти задачи, предоставляя централизованную платформу, которая:

    • Агрегирует ресурсы Tekton из нескольких каталогов в поисковый репозиторий
    • Позволяет пользователям находить, оценивать и использовать готовые компоненты
    • Предоставляет систему рейтингов для определения качественных ресурсов
    • Предлагает подробную информацию о каждом ресурсе, включая версии, документацию и примеры
    • Упрощает процесс интеграции этих ресурсов в конвейеры

    Централизуя поиск и управление ресурсами, Tekton Hub способствует повторному использованию, стандартизации и сотрудничеству в экосистеме Tekton.

    Преимущества

    • Упрощённый поиск: удобный веб-интерфейс для поиска ресурсов Tekton
    • Повышенная повторяемость: способствует обмену и повторному использованию хорошо протестированных компонентов
    • Гарантия качества: система рейтингов помогает пользователям находить надёжные ресурсы
    • Управление версиями: отслеживает несколько версий ресурсов для совместимости
    • Категоризация: организует ресурсы по типу и назначению для удобной навигации
    • Аутентификация: поддерживает несколько методов аутентификации (GitHub, GitLab, BitBucket)
    • Доступ к API: предоставляет как версионированные, так и внутренние API для интеграции

    Сценарии

    Сценарий 1: Разработчик, ищущий компоненты CI

    Разработчику нужно настроить CI-конвейер для нового проекта. Вместо того чтобы создавать все необходимые задачи с нуля, он посещает Tekton Hub для поиска готовых компонентов. Он находит задачи для запуска тестов, сборки контейнеров и сканирования на уязвимости. Несколькими кликами он может просмотреть документацию, проверить рейтинги и установить эти компоненты в свой Kubernetes кластер.

    Сценарий 2: Команда платформы, управляющая пользовательскими каталогами

    Команда инженеров платформы хочет создавать и распространять стандартизированные CI/CD компоненты по всей организации. Они создают пользовательский каталог согласно структуре Tekton Catalog, добавляют его в развертывание Tekton Hub и делают доступным для всех разработчиков организации. Это обеспечивает согласованность и лучшие практики между командами.

    Сценарий 3: Вклад в сообщество

    Разработчик создает полезный Task для конкретного инструмента и хочет поделиться им с сообществом. После тестирования и документирования Task он вносит его в публичный каталог. После одобрения он становится доступен через Tekton Hub для других пользователей.

    Ограничения и лимиты

    • Требуется кластер Kubernetes для развертывания
    • Каталоги должны соответствовать структуре, определённой в Tekton Catalog Organization TEP
    • Для некоторых операций, таких как оценка ресурсов, требуется аутентификация
    • Пользовательские каталоги необходимо добавлять вручную в конфигурацию
    • Ресурсы ограничены теми, что доступны в настроенных каталогах

    Принципы

    Архитектура

    Tekton Hub состоит из трёх основных компонентов:

    1. Database: база данных PostgreSQL, которая хранит информацию о каталогах, ресурсах и пользователях
    2. API Service: бэкенд-сервис, обеспечивающий доступ к данным и управление ими

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

    Рабочий процесс управления ресурсами

    1. Регистрация каталога: каталоги регистрируются в конфигурации Tekton Hub
    2. Обновление каталога: система периодически сканирует каталоги на наличие новых или обновлённых ресурсов
    3. Индексация ресурсов: ресурсы индексируются с метаданными для эффективного поиска
    4. Поиск ресурсов: пользователи ищут и просматривают ресурсы через UI
    5. Установка ресурсов: пользователи могут устанавливать ресурсы непосредственно в свои Kubernetes кластеры

    Ссылки