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
Пояснения к полям:
- 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означает успешную установку)
Автоматический режим
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.
Примечание: Пакетное обновление поддерживается только для Операторов, предоставленных .