Operator
Содержание
ОбзорИсточники ОператоровПодготовка перед установкойРежим установкиКанал обновленийСтратегия утвержденияМесто установкиУстановка через веб-консольУстановка через YAMLРучной режим (Manual)1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Утверждение InstallPlanАвтоматический режим (Automatic)1. Проверка доступных версий2. Подтверждение catalogSource3. Создание namespace4. Создание Subscription5. Проверка статуса Subscription6. Проверка CSVПроцесс обновленияОбзор
На основе фреймворка 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, описывающий фактические операции установки (например, создание Deployment, 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-манифестов.
Ручной режим (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
Пример вывода:
Установка прошла успешно.
Процесс обновления
Процесс обновления начинается с загрузки новой версии Оператора.
После завершения загрузки подождите примерно 10–15 минут, чтобы платформа синхронизировала информацию о новой версии.
После завершения синхронизации обновления выполняются согласно стратегии, настроенной в Subscription:
-
Если стратегия утверждения Оператора установлена в Automatic, обновление происходит автоматически.
-
Если стратегия установлена в Manual, запрос на обновление должен быть утверждён вручную. Можно выбрать один из следующих способов обновления:
- Пакетное обновление: выполнить обновление на странице Platform Management > Cluster Management > Cluster > Features.
- Индивидуальное обновление: вручную утверждать запросы на обновление в OperatorHub.
Примечание: Пакетное обновление поддерживается только для Операторов, предоставленных .