Operator Registry#
Operator Registry - это инструмент, предназначенный для централизованного хранения метаданных операторов, их версий и другой связанной информации, обеспечивающий удобный доступ к этим данным.
Operator Registry необходим для эффективного управления операторами в кластерах. Используется для:
централизованного хранения и управления метаданными операторов;
упрощения установки, обновления и удаления операторов в кластерах;
интеграции с операторами сторонних разработчиков или сообществ;
сoздания собственных директорий операторов для стандартизации процессов управления приложениями.
Operator Registry предоставляет следующую функциональность:
Генерация и обновление баз данных реестра и образов индексов: Operator Registry позволяет генерировать и обновлять базы данных, содержащие информацию о доступных операторах и их версиях, а также создавать образы индексов для эффективного доступа к этим данным.
Поддержка gRPC интерфейса: Registry предоставляет интерфейс для взаимодействия с базой данных реестра через gRPC, что позволяет разработчикам и администраторам получать доступ к информации о доступных операторах и их метаданных.
Разбор конфигурационных файлов: Operator Registry имеет возможность разбирать конфигурационные файлы операторов и загружать их содержимое в базу данных для дальнейшего использования.
Поддержка OCI-совместимых контейнерных образов: Operator Registry работает с OCI-совместимыми контейнерными образами, используя их для хранения манифестов и метаданных операторов.
Публикация и обновление операторов: разработчики могут публиковать свои операторы в Registry и обновлять их версии, обеспечивая администраторам возможность установки и обновления операторов в их кластерах.
Интеграция с Operator Lifecycle Manager: Operator Registry интегрируется с Operator Lifecycle Manager, позволяя кластерам управлять пакетами операторов через
CatalogSourcesиSubscription.
Основные команды и флаги для работы с Operator Registry:
opm index add: команда для добавления новой версии оператора в индекс:--bundles, -b: URL контейнера с манифестом пакета оператора;--tag: тег образа для сохранения результата;--from-index: флаг, в котором нужно использовать предыдущий индекс для построения нового.
opm index rm: команда для удаления всех версий пакета оператора из индекса:
--operators, -o: имя оператора, которое нужно удалить из индекса;--tag: тег образа для сохранения результата.
opm index prune: команда для удаления всех пакетов операторов из индекса, кроме указанного:--packages, -p: имя пакета оператора, которое нужно сохранить в индексе;--tag: тег образа для сохранения результата;--from-index: флаг, в котором нужно использовать предыдущий индекс для построения нового.
opm index export: команда для экспорта пакета из индекса в каталог в формате манифеста приложения:--index: URL образа индекса;--packages, -p: имя пакета оператора, которое нужно экспортировать;--container-tool: инструмент контейнеризации для выполнения экспорта (по умолчаниюpodman);--download-folder: путь для сохранения экспортированных файлов (по умолчанию./downloaded)
opm registry add: команда для добавления версии пакета оператора в базу данных реестра:--bundles, -b: URL контейнера с манифестом пакета оператора;--database, -d: путь к файлу базы данных реестра, куда нужно добавить пакет оператора;--container-tool: инструмент контейнеризации, который будет использоваться (по умолчаниюpodman);--tag: тег образа для сохранения результата.
opm registry rm: команда для удаления всех версий пакета оператора из реестра:--operators, -o: имя оператора, которое нужно удалить из реестра;--database, -d: путь к файлу базы данных реестра, из которого нужно удалить оператора.
opm registry prune: команда для удаления из базы реестра всех пакетов, кроме указанного:--packages, -p: имя пакета оператора, которое нужно сохранить в реестре;--database, -d: путь к файлу базы данных реестра, из которой нужно удалить все пакеты, кроме указанного.
opm registry server: команда для запуска сервера gRPC API, который будет обрабатывать запросы к реестру:--port, -p: порт, на котором будет запущен сервер;--database, -d: путь к файлу базы данных реестра.
Примечание
Для выполнения указанных команд требуется наличие инструмента контейнеризации, такого как Docker или Podman, который должен быть установлен и настроен в системе.