Operator Registry#

Operator Registry - это инструмент, предназначенный для централизованного хранения метаданных операторов, их версий и другой связанной информации, обеспечивающий удобный доступ к этим данным.

Operator Registry необходим для эффективного управления операторами в кластерах. Используется для:

  • централизованного хранения и управления метаданными операторов;

  • упрощения установки, обновления и удаления операторов в кластерах;

  • интеграции с операторами сторонних разработчиков или сообществ;

  • сoздания собственных директорий операторов для стандартизации процессов управления приложениями.

Operator Registry предоставляет следующую функциональность:

  1. Генерация и обновление баз данных реестра и образов индексов: Operator Registry позволяет генерировать и обновлять базы данных, содержащие информацию о доступных операторах и их версиях, а также создавать образы индексов для эффективного доступа к этим данным.

  2. Поддержка gRPC интерфейса: Registry предоставляет интерфейс для взаимодействия с базой данных реестра через gRPC, что позволяет разработчикам и администраторам получать доступ к информации о доступных операторах и их метаданных.

  3. Разбор конфигурационных файлов: Operator Registry имеет возможность разбирать конфигурационные файлы операторов и загружать их содержимое в базу данных для дальнейшего использования.

  4. Поддержка OCI-совместимых контейнерных образов: Operator Registry работает с OCI-совместимыми контейнерными образами, используя их для хранения манифестов и метаданных операторов.

  5. Публикация и обновление операторов: разработчики могут публиковать свои операторы в Registry и обновлять их версии, обеспечивая администраторам возможность установки и обновления операторов в их кластерах.

  6. Интеграция с Operator Lifecycle Manager: Operator Registry интегрируется с Operator Lifecycle Manager, позволяя кластерам управлять пакетами операторов через CatalogSources и Subscription.

Основные команды и флаги для работы с Operator Registry:

  1. opm index add: команда для добавления новой версии оператора в индекс:

    • --bundles, -b: URL контейнера с манифестом пакета оператора;

    • --tag: тег образа для сохранения результата;

    • --from-index: флаг, в котором нужно использовать предыдущий индекс для построения нового.

    1. opm index rm: команда для удаления всех версий пакета оператора из индекса:

    • --operators, -o: имя оператора, которое нужно удалить из индекса;

    • --tag: тег образа для сохранения результата.

  2. opm index prune: команда для удаления всех пакетов операторов из индекса, кроме указанного:

    • --packages, -p: имя пакета оператора, которое нужно сохранить в индексе;

    • --tag: тег образа для сохранения результата;

    • --from-index: флаг, в котором нужно использовать предыдущий индекс для построения нового.

  3. opm index export: команда для экспорта пакета из индекса в каталог в формате манифеста приложения:

    • --index: URL образа индекса;

    • --packages, -p: имя пакета оператора, которое нужно экспортировать;

    • --container-tool: инструмент контейнеризации для выполнения экспорта (по умолчанию podman);

    • --download-folder: путь для сохранения экспортированных файлов (по умолчанию ./downloaded)

  4. opm registry add: команда для добавления версии пакета оператора в базу данных реестра:

    • --bundles, -b: URL контейнера с манифестом пакета оператора;

    • --database, -d: путь к файлу базы данных реестра, куда нужно добавить пакет оператора;

    • --container-tool: инструмент контейнеризации, который будет использоваться (по умолчанию podman);

    • --tag: тег образа для сохранения результата.

  5. opm registry rm: команда для удаления всех версий пакета оператора из реестра:

    • --operators, -o: имя оператора, которое нужно удалить из реестра;

    • --database, -d: путь к файлу базы данных реестра, из которого нужно удалить оператора.

  6. opm registry prune: команда для удаления из базы реестра всех пакетов, кроме указанного:

    • --packages, -p: имя пакета оператора, которое нужно сохранить в реестре;

    • --database, -d: путь к файлу базы данных реестра, из которой нужно удалить все пакеты, кроме указанного.

  7. opm registry server: команда для запуска сервера gRPC API, который будет обрабатывать запросы к реестру:

    • --port, -p: порт, на котором будет запущен сервер;

    • --database, -d: путь к файлу базы данных реестра.

Примечание

Для выполнения указанных команд требуется наличие инструмента контейнеризации, такого как Docker или Podman, который должен быть установлен и настроен в системе.