Делаем понятным развёртывание оператора в OpenShift

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Операторы в кластерах Red Hat OpenShift де-факто являются стандартом для расширения функций и возможностей кластера.

Приложения и промежуточное ПО упакованы как операторы и доступны на OperatorHub. Хотя большинство операторов можно установить за несколько кликов, для некоторых, более сложных операторов, требуется более глубокое понимание инфраструктуры. Это похоже на воду для кухонного слива, большинству людей просто достаточно знать, что она есть; тем не менее, знание того, что находится там внутри, в водопроводе, необходимо для решения проблем и исправления ошибок, когда что-то работает не так, как ожидалось.

Эта статья пытается объяснить основные объекты и процессы, составляющие операторов и структуру операторов. Содержание этой статьи разделено на расширение OperatorHub и развертывание Оператора.

Расширение OperatorHub

OperatorHub заполняется из содержимого в OperatorSource и CatalogSources. Большинство новых источников теперь используют формат CatalogSource. Я объясню разницу между CatalogSource и OperatorSource и то, как они работают, в последующих статьях:

OperatorSource и CatalogSource.
OperatorSource и CatalogSource.

Эти источники можно посмотреть в веб-консоли в разделе Administration → Cluster Settings → Global Configuration → OperatorHub → Sources. Ниже приведен снимок экрана этого меню:

Исходники OperatorHub.
Исходники OperatorHub.

Источник каталога состоит из не исполняемого (non-executable) образа контейнера. Образ контейнера содержит файл, который действует как каталог PackageManifests, который можно установить. Когда CatalogSource определен, OpenShift создает задание для загрузки образа каталога, получения отдельного PackageManifest и создания объектов в OpenShift. Каждый объект PackageManifest представляет собой плитку, которую вы можете увидеть в меню Operators> OperatorHub веб-консоли OpenShift:

CatalogSource и PackageManifest.
CatalogSource и PackageManifest.

Каждый из объектов PackageManifest содержит уникальное определение того, как добавлять операторов, включая следующее:

  • Channels: Путь для установки и обновления пакета оператора.

  • Cluster Service Version: определение пакета для конкретной версии оператора, CSV-файлы позволяют оператору, который подписывается на канал, динамически развиваться (обновляться).

  • Custom Resource Definition: часть CSV, определяющая структуру настраиваемого ресурса, которым будет управлять оператор.

  • Container images: образы, которые будут загружены при установке этого CSV-файла.

Развертывание оператора

Когда вы выбираете установку Operator из OperatorHub, вы создаете объект подписки. Он подписывается на канал в PackageManifest. Понятие подписки допускает автоматическое обновление (как определено в поле installPlanApproval) при обновлении CSV в PackageManifest:

Канал и Подписка.
Канал и Подписка.

CSV из канала создается и генерирует installPlan, который содержит список ресурсов, которые должны быть созданы для этого оператора. Подписка также определяет Custom Resource Definition, которым управляет этот оператор. После успешной установки (фаза CSV становится успешной из-за команды oc get csv), это означает, что оператор установлен:

Установленный оператор.
Установленный оператор.

После установки оператора у вас есть Deployment с pod’ом, в котором запущен процесс контроллера оператора. Контроллер оператора запускает цикл, который отслеживает Custom Resources в своем пространстве имен (или во всех пространствах имен, как определено методом установки). При создании Custom Resources он может выполнять дополнительные задачи, например создавать дополнительные ресурсы в кластере.

На приведенном выше рисунке запускается создание кластера хранилища контейнеров OpenShift на основе содержимого настраиваемого ресурса StorageCluster.

Источник: https://habr.com/ru/company/nixys/blog/574924/


Интересные статьи

Интересные статьи

Что наша жизнь? Игра!Эта история началась почти год назад. Сидели мы как то с другом и подумали, «а что если сделать систему, для игры через интернет? То бишь, управления...
Есть несколько способов добавить водяной знак в Битрикс. Рассмотрим два способа.
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
Привет, Хабр! Представляю вашему вниманию перевод статьи «7 Tricks with Resting and Spreading JavaScript Objects» автора Joel Thoms. Всем привет, на днях коллега по работе скинул мне ссылку на...
Вам приходилось сталкиваться с ситуацией, когда сайт или портал Битрикс24 недоступен, потому что на диске неожиданно закончилось место? Да, последний бэкап съел все место на диске в самый неподходящий...