Operator
Содержание
ОбзорИсточники ОператоровПодготовка к установкеРежим установкиКанал обновленийСтратегия одобренияМесто установкиУстановка через веб-консольУстановка через YAMLРучной режим1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Одобрение InstallPlanАвтоматический режим1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Проверка CSVПроцесс обновленияОбзор
На основе фреймворка OLM (Operator Lifecycle Manager), OperatorHub предоставляет единый интерфейс для управления установкой, обновлением и жизненным циклом Операторов.
Администраторы могут использовать OperatorHub для установки и управления Операторами, обеспечивая полную автоматизацию жизненного цикла приложений Kubernetes, включая создание, обновления и удаление.
OLM в основном состоит из следующих компонентов и CRD:
- OLM (olm-operator): Управляет полным жизненным циклом Операторов, включая установку, обновления и обнаружение конфликтов версий.
- Catalog Operator: Управляет каталогами Операторов и генерирует соответствующие InstallPlan.
- CatalogSource: CRD с областью видимости namespace, который управляет источником каталога Операторов и предоставляет метаданные Оператора (например, информацию о версиях, управляемые CRD). Платформа предоставляет 3 стандартных CatalogSource: system, platform и custom. Операторы из system не отображаются в OperatorHub.
- ClusterServiceVersion (CSV): CRD с областью видимости namespace, описывающий конкретную версию Оператора, включая необходимые ресурсы, CRD и разрешения.
- Subscription: CRD с областью видимости namespace, описывающий подписанный Оператор, его источник, канал получения и стратегию обновления.
- InstallPlan: CRD с областью видимости namespace, описывающий фактические операции установки (например, создание Deployments, CRD, RBAC). Оператор будет установлен или обновлен только после одобрения InstallPlan.
Источники Операторов
Для уточнения стратегии жизненного цикла различных Операторов в OperatorHub платформа предоставляет 5 типов источников:
-
Предоставляется и поддерживается , включая полное управление жизненным циклом, обновления безопасности, техническую поддержку и SLA. -
Curated
Отобранные из сообщества с открытым исходным кодом, соответствующие версиям сообщества, без модификации кода или перекомпиляции. предоставляет рекомендации и обновления безопасности, но не гарантирует SLA или управление жизненным циклом. -
Community
Предоставляются сообществом с открытым исходным кодом, обновляются периодически для обеспечения возможности установки, но функциональная полнота не гарантируется; SLA и поддержка отсутствуют. -
Marketplace
Предоставляются и поддерживаются сторонними поставщиками, сертифицированными . обеспечивает поддержку интеграции с платформой, а поставщик отвечает за основное сопровождение. -
Custom
Разрабатываются и загружаются пользователем для удовлетворения индивидуальных требований.
Подготовка к установке
Перед установкой Оператора необходимо ознакомиться со следующими ключевыми параметрами:
Режим установки
OLM предоставляет три режима установки:
- Single Namespace
- Multi Namespace
- Cluster
Рекомендуется режим Cluster (AllNamespaces). Платформа в будущем будет обновлена до OLM v1, который поддерживает только режим установки AllNamespaces. Поэтому режимы SingleNamespace и MultiNamespace следует избегать.
Канал обновлений
Если Оператор предоставляет несколько каналов обновлений, можно выбрать, на какой канал подписаться, например, stable.
Стратегия одобрения
Варианты: Automatic или Manual.
- Automatic: OLM автоматически обновит Оператора при выпуске новой версии в выбранном канале.
- Manual: При наличии новой версии OLM создаёт запрос на обновление, который должен быть вручную одобрен администратором кластера перед выполнением обновления.
Примечание: Операторы от поддерживают только режим Manual; в противном случае установка завершится ошибкой.
Место установки
Рекомендуется создавать отдельный namespace для каждого Оператора.
Если несколько Операторов используют один namespace, их Subscriptions могут быть объединены в один InstallPlan:
- Если InstallPlan в этом namespace требует ручного одобрения и находится в ожидании, это может блокировать автоматические обновления других Subscriptions, включённых в тот же InstallPlan.
Установка через веб-консоль
-
Войдите в веб-консоль и переключитесь в режим Administrator.
-
Перейдите в Marketplace > OperatorHub.
-
Если статус Absent:
- Скачайте пакет Оператора из Customer Portal или обратитесь в поддержку.
- Загрузите пакет в целевой кластер с помощью
violet(см. CLI). - На странице Marketplace > Upload Packages переключитесь на вкладку Operator и подтвердите загрузку.
-
Если статус Ready, нажмите Install и следуйте руководству пользователя Оператора.
Установка через YAML
Ниже приведены примеры установки Операторов от (только Manual) и из других источников (Manual или Automatic).
В отличие от плагинов кластера (которые всегда должны устанавливаться в глобальный кластер при использовании YAML), Операторы устанавливаются в целевой кластер, где они должны работать. Убедитесь, что вы подключены к нужному кластеру перед выполнением YAML-манифестов.
Ручной режим
harbor-ce-operator — оператор от , поддерживающий только Manual одобрение.
В ручном режиме, даже при выпуске новой версии, Оператор не обновится автоматически. Необходимо вручную одобрить обновление, чтобы OLM выполнил апгрейд.
1. Проверка доступных версий
Пример вывода:
Пояснения к полям:
- CHANNEL: имя канала Оператора
- NAME: имя ресурса CSV
- VERSION: версия Оператора
2. Подтверждение catalogSource
Пример вывода:
Это означает, что harbor-ce-operator поступает из catalogSource platform.
3. Создание namespace
4. Создание Subscription
Пояснения к полям:
- аннотация
cpaas.io/target-namespaces: рекомендуется оставить пустой; пустое значение означает установку на весь кластер. - .metadata.name: имя Subscription (должно соответствовать DNS, максимум 253 символа).
- .metadata.namespace: namespace для установки Оператора.
- .spec.channel: канал подписки Оператора.
- .spec.installPlanApproval: стратегия одобрения (
ManualилиAutomatic). ЗдесьManualтребует ручного одобрения установки/обновления. - .spec.source: catalogSource Оператора.
- .spec.sourceNamespace: должно быть
cpaas-system, так как все catalogSource, предоставляемые платформой, находятся в этом namespace. - .spec.startingCSV: версия для установки при ручном одобрении; если пусто, по умолчанию берётся последняя версия в канале. Не требуется для Automatic.
5. Проверка статуса Subscription
Ключевые поля:
- .status.state:
UpgradePending— Оператор ожидает установки или обновления. - Condition InstallPlanPending = True: ожидание ручного одобрения.
- .status.currentCSV: текущий подписанный CSV.
- .status.installPlanRef: связанный InstallPlan, который должен быть одобрен перед установкой.
6. Одобрение InstallPlan
Пример вывода:
Одобрение вручную:
Дождитесь создания CSV; фаза изменится на Succeeded:
Пример вывода:
Пояснения к полям:
- NAME: имя установленного CSV
- DISPLAY: отображаемое имя Оператора
- VERSION: версия Оператора
- REPLACES: CSV, заменённый при обновлении
- PHASE: статус установки (
Succeeded— успешно)
Автоматический режим
clickhouse-operator поступает из источника, не относящегося к , и его стратегия одобрения может быть установлена в Automatic.
В автоматическом режиме Оператор обновляется автоматически при выпуске новой версии без ручного одобрения.
1. Проверка доступных версий
Пример вывода:
2. Подтверждение catalogSource
Пример вывода:
Это означает, что clickhouse-operator поступает из catalogSource platform.
3. Создание namespace
4. Создание Subscription
Пояснения к полям такие же, как в разделе Ручной режим.
5. Проверка статуса Subscription
6. Проверка CSV
Пример вывода:
Установка прошла успешно.
Процесс обновления
Процесс обновления начинается с загрузки новой версии Оператора.
После завершения загрузки подождите примерно 10–15 минут, чтобы платформа синхронизировала информацию о новой версии.
После завершения синхронизации обновления выполняются согласно стратегии, настроенной в Subscription:
-
Если стратегия одобрения Оператора установлена в Automatic, обновление происходит автоматически.
-
Если стратегия установлена в Manual, запрос на обновление должен быть одобрен вручную. Можно выбрать один из следующих способов обновления:
- Пакетное обновление: выполнить обновление на странице Platform Management > Cluster Management > Cluster > Features.
- Индивидуальное обновление: вручную одобрять запросы на обновление в OperatorHub.
Примечание: Пакетное обновление поддерживается только для Операторов, предоставляемых .