[Open source, Виртуализация, Kubernetes, Openshift] Представляем OpenShift Pipelines

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Май-2021 18:31

3 мая 2021 года Red Hat выпустила первую общедоступную версию OpenShift Pipelines, облачно-ориентированной системы непрерывной интеграции на базе СПО-проекта Tekton. Решение реализует Kubernetes фреймворк CI/CD для разработки и выполнения конвейеров, в которых каждый шаг запускается в своем собственном контейнере, что позволяет масштабировать шаги независимо друг от друга. Сегодня мы вкратце рассмотрим ключевые особенности и преимущества этого решения, а также приведем список дополнительных ресурсов для дальнейшего знакомства с ней и освоения.Но, прежде чем переходить к OpenShift Pipelines, освежим в памяти основные концепты Tekton.Основные концепты Kubernetes-нативной CI/CDOpenShift Pipelines дополняет Kubernetes/OpenShift соответствующими CRD (ресурсами, определяемыми пользователем) для концептов CI/CD, таких как «конвейер» (pipeline), «задача» (task), «шаг» (step). В результате, эти концепты становятся “своими” (native) инстанцируемыми – их можно создавать в виде отдельных экземпляров и, как следствие, полноценно масштабировать и развертывать, а также обеспечивать их безопасность средствами Kubernetes.Поэтому для начала вспомним, что такое концепты Tekton:
Рис. 1. Концепты TektonПо сути, основные концепты Tekton делятся на два вида: те, что задают конвейер, и те, что запускают конвейер.Концепты, задающие конвейер (define pipeline)
  • Task – повторно используемые и слабо связанные серии шагов (step), которые выполняют определенную задачу, например, сборку контейнерного образа.
  • Pipeline – описание конвейера и задач (Task), которые он должен выполнять.
Концепты, запускающие конвейер (run pipelines)
  • TaskRun – запуск и результаты выполнения экземпляра Task.
  • PipelineRun – запуск и результаты выполнения экземпляра конвейера, который включает в себя ряд концептов TaskRun.
Подробнее об этих концептах можно почитать в официальной документации.Теперь разберемся, что такое OpenShift Pipelines и для чего он нуженЧто такого особенного в OpenShift Pipelines?OpenShift Container Platform – это ведущая отраслевая Kubernetes-платформа корпоративного класса, которая предоставляет разработчикам множество функций, среди которых есть и CI/CD.OpenShift Pipelines базируется на СПО-проекте Tekton и расширяет функционал платформы OpenShift стандратными методами, что сильно облегчает жизнь разработчикам.Установка OpenShift Pipelines через механизм OperatorOpenShift Pipelines поддерживается на уровне механизма операторов, поэтому он легко устанавливается и обновляется, и, соответственно, легко администрируется.OpenShift Pipelines доступен на сайте OperatorHub, где представлены более 450 различных операторов для OpenShift Container Platform:
Установка OpenShift Pipelines предельно проста, и он сразу устанавливается как оператор уровня кластера, автоматически становясь доступным для всех проектов:
OpenShift Pipelines также дополняет OpenShift соответствующими CR, которые позволят добиться еще большей универсальности в плане конфигурации и интеграции с консолью OpenShift и т.д.При появлении в OperatorHub новой версии OpenShift Pipelines, вы как администратор можете выбрать обновление до следующей версии, задав нужный канал обновления.Развитый UI в рамках консоли OpenShiftTekton тоже дополняет стандартную поставку OpenShift концептами CI/CD, но в нем при создании и запуске конвейеров сложно обойтись без создания YAML-кода, и этого кода требуется писать очень много, тысячи строк. Поэтому Red Hat реализовала в консоли OpenShift полноценный UI для запуска и визуализации конвейеров (как тех, что работают сейчас, так и тех, что уже отработали), а также для графического создания конвейеров. При этом все необходимые YAML-файлы создаются автоматически, без написания какого-либо кода.Ниже показано графическое представление конвейера, который уже был выполнен на платформе OpenShift, причем прямо из него можно получить доступ к журналам и событиям всех задач этого конвейера:
Рис. 2. Конвейеры в консоли OpenShiftПри желании можно легко просмотреть полный лог выбранной задачи:
Чтобы еще больше облегчить жизнь разработчикам, OpenShift Pipelines позволяет рисовать конвейеры прямо в консоли OpenShift, поэтому вам больше не нужен черный пояс по YAML, чтобы создать свой первый конвейер Tekton:
Рис. 3. Графическое проектирование конвейера в консоли OpenShiftНо если вы, как обладатель черного пояса по YAML, захотите что-то подправить, это всегда можно сделать прямо из консоли OpenShift:
Рис. 4. YAML – примеры и снипеты в консоли OpenShiftБолее того, OpenShift Pipelines пригодится, даже если вы решите пойти по пути чистого YAML, и предложит вам готовые примеры и снипеты кода для более быстрой разработки конвейеров YAML. Кроме того, в систему можно интегрировать ваши корпоративные снипеты, сделав их доступными всем разработчикам. Именно для этого мы и добавили специальный CRD под названием ConsoleYAMLSamples.События как триггеры для запуска конвейеровХотите увязать запуск конвейеров с некими внешними событиями (в терминах Tekton это называется Trigger), например, push- или pull-запросами Github или Gitlab? Вообще не проблема, в OpenShift Pipelines это есть из коробки, причем поддерживаются различные вендоры, включая Github, Gitlab, BitBucket и т.д.
Рис. 5. Добавление триггера в консоли OpenShiftВы просто создаете нужный триггер в UI, а OpenShift сам формирует все необходимые концепты, такие как EventListeners, TriggerTemplates (подробнее о них можно почитать в официальной документации).Готовые повторно используемые задачи и кастомизацияOpenShift Pipelines из коробки содержит десятки готовых задач, которые можно использовать в составе конвейеров, включая задачи по клонированию кода из репозитория, сборки приложений на различных языках программирования, таких как java, dotnet core, python go, nodejs или использования инструментов сборки вроде maven, развертывания приложений и т.д. Список доступных задач можно увидеть в консоли OpenShift, раздел ClusterTasks, меню Pipelines -> Tasks:
Рис. 6. OpenShift Pipelines из коробки предлагает десятки готовых задачКроме того, этот список можно легко расширить. Для этого достаточно добавить «ClusterTasks» в кластер, после чего вам станут доступны сотни дополнительных задач на сайте TektonHub, который представляет собой публичный репозиторий для обмена задачами Tekton:
Рис. 7. TektonHub – публичный репозиторий повторно используемых задач и конвейеров TektonИнтеграция с IDEРазработчики, использующие командную строку и IDE, могут воспользоваться преимуществами Tekton CLI, расширения Tekton для Visual Studio Code и плагина Tekton для IntelliJ, чтобы взаимодействовать с конвейерами прямо из своей обычной среды разработки и создавать, запускать, просматривать и выполнять действия на кластере непосредственно из командной строки.
Рис. 8. Расширение VSCode для OpenShift PipelinesПолезные ресурсыВ заключение советуем посмотреть видеоверсию этой статьи на английском:Извините, данный ресурс не поддреживается. :( А также рекомендуем следующие ресурсы (EN): Видеоролики на русском: Вебинары:
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_open_source, #_virtualizatsija (Виртуализация), #_kubernetes, #_openshift, #_red_hat, #_open_source, #_openshift, #_tekton, #_kubernetes, #_yaml, #_github, #_gitlab, #_ide, #_java, #_blog_kompanii_red_hat (
Блог компании Red Hat
)
, #_open_source, #_virtualizatsija (
Виртуализация
)
, #_kubernetes, #_openshift
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 04-Май 03:19
Часовой пояс: UTC + 5