Operator
Содержание
OverviewOperator SourcesPre-installation PreparationInstallation ModeUpdate ChannelApproval StrategyInstallation LocationInstalling via Web ConsoleInstalling via YAMLManual1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Одобрение InstallPlanAutomatic1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Проверка CSVUpgrade ProcessOverview
На основе фреймворка OLM (Operator Lifecycle Manager), OperatorHub предоставляет единый интерфейс для управления установкой, обновлением и жизненным циклом Операторов.
Администраторы могут использовать OperatorHub для установки и управления Операторами, обеспечивая полную автоматизацию жизненного цикла приложений Kubernetes, включая создание, обновления и удаление.
OLM в основном состоит из следующих компонентов и CRD:
- OLM (olm-operator): Управляет полным жизненным циклом Операторов, включая установку, обновления и обнаружение конфликтов версий.
- Catalog Operator: Управляет каталогами Операторов и генерирует соответствующие InstallPlans.
- 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.
Operator Sources
Для уточнения стратегии жизненного цикла различных Операторов в OperatorHub платформа предоставляет 5 типов источников:
-
Предоставляется и поддерживается , включая полное управление жизненным циклом, обновления безопасности, техническую поддержку и обязательства по SLA. -
Curated
Отобраны из сообщества с открытым исходным кодом, соответствуют версиям сообщества без изменений кода или перекомпиляции. предоставляет рекомендации и обновления безопасности, но не гарантирует SLA или управление жизненным циклом. -
Community
Предоставляются сообществом с открытым исходным кодом, периодически обновляются для обеспечения возможности установки, но функциональная полнота не гарантируется; SLA и поддержка отсутствуют. -
Marketplace
Предоставляются и поддерживаются сторонними поставщиками, сертифицированными . обеспечивает поддержку интеграции с платформой, а поставщик отвечает за основное сопровождение. -
Custom
Разработаны и загружены пользователем для удовлетворения индивидуальных требований.
Pre-installation Preparation
Перед установкой Оператора необходимо ознакомиться со следующими ключевыми параметрами:
Installation Mode
OLM предоставляет три режима установки:
- Single Namespace
- Multi Namespace
- Cluster
Рекомендуется режим Cluster (AllNamespaces). Платформа в будущем будет обновлена до OLM v1, который поддерживает только режим установки AllNamespaces. Поэтому режимы SingleNamespace и MultiNamespace следует избегать.
Update Channel
Если Оператор предоставляет несколько каналов обновления, можно выбрать канал для подписки, например, stable.
Approval Strategy
Варианты: Automatic или Manual.
- Automatic: OLM автоматически обновляет Оператора при выпуске новой версии в выбранном канале.
- Manual: При появлении новой версии OLM создаёт запрос на обновление, который должен быть вручную одобрен администратором кластера перед выполнением обновления.
Примечание: Операторы от поддерживают только режим Manual; в противном случае установка завершится ошибкой.
Installation Location
Рекомендуется создавать отдельный namespace для каждого Оператора.
Если несколько Операторов используют один namespace, их Subscriptions могут быть объединены в один InstallPlan:
- Если InstallPlan в этом namespace требует ручного одобрения и находится в ожидании, это может блокировать автоматические обновления других Subscriptions, включённых в тот же InstallPlan.
Installing via Web Console
-
Войдите в веб-консоль и переключитесь на вид Administrator.
-
Перейдите в Marketplace > OperatorHub.
-
Если статус Absent:
- Скачайте пакет Оператора из Customer Portal или обратитесь в поддержку.
- Загрузите пакет в целевой кластер с помощью
violet(см. CLI). - На странице Marketplace > Upload Packages переключитесь на вкладку Operator и подтвердите загрузку.
-
Если статус Ready, нажмите Install и следуйте руководству пользователя Оператора.
Installing via YAML
Ниже приведены примеры установки Операторов от (только Manual) и из других источников (Manual или Automatic).
В отличие от плагинов кластера (которые всегда должны устанавливаться в глобальный кластер при использовании YAML), Операторы устанавливаются в целевой кластер, где они должны работать. Убедитесь, что вы подключены к нужному кластеру перед выполнением YAML-манифестов.
Manual
harbor-ce-operator — Оператор от , поддерживающий только режим Manual.
В режиме Manual, даже при выпуске новой версии, Оператор не обновится автоматически. Необходимо вручную одобрить обновление, чтобы OLM выполнил его.
1. Проверка доступных версий
Пример вывода:
Пояснения к полям:
- CHANNEL: имя канала Оператора
- NAME: имя ресурса CSV
- VERSION: версия Оператора
2. Подтверждение catalogSource
Пример вывода:
Это означает, что harbor-ce-operator поступает из catalogSource platform.
3. Создание namespace
4. Создание Subscription
Пояснения к полям:
- annotation
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: указывает версию для установки при Manual одобрении; если пусто, по умолчанию берётся последняя версия в канале. Не требуется для 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— успешно)
Automatic
clickhouse-operator поступает из источника, не относящегося к , и его стратегия одобрения может быть установлена в Automatic.
В режиме Automatic Оператор обновляется автоматически при выпуске новой версии без ручного одобрения.
1. Проверка доступных версий
Пример вывода:
2. Подтверждение catalogSource
Пример вывода:
Это означает, что clickhouse-operator поступает из catalogSource platform.
3. Создание namespace
4. Создание Subscription
Пояснения к полям такие же, как в Manual.
5. Проверка статуса Subscription
6. Проверка CSV
Пример вывода:
Установка прошла успешно.
Upgrade Process
Процесс обновления начинается с загрузки новой версии Оператора.
После завершения загрузки подождите примерно 10–15 минут, чтобы платформа синхронизировала информацию о новой версии.
После завершения синхронизации обновления выполняются согласно стратегии, настроенной в Subscription:
-
Если стратегия одобрения Оператора установлена в Automatic, обновление происходит автоматически.
-
Если стратегия установлена в Manual, запрос на обновление должен быть одобрен вручную. Можно выбрать один из следующих способов обновления:
- Пакетное обновление: выполнить обновление на странице Platform Management > Cluster Management > Cluster > Features.
- Индивидуальное обновление: вручную одобрять запросы на обновление в OperatorHub.
Примечание: пакетное обновление поддерживается только для Операторов от .