• Русский
  • Обновление оператора Alauda DevOps Pipelines

    В этом документе приведены инструкции по обновлению оператора Alauda DevOps Pipelines до более новой версии с использованием интерфейса Marketplace/OperatorHub в вашем кластере. Процесс обновления разработан таким образом, чтобы быть простым и при этом минимально влиять на существующие ресурсы Tekton.

    Обзор обновления

    Обновление оператора Alauda DevOps Pipelines позволяет получить доступ к новым функциям, исправлениям ошибок и улучшениям в экосистеме Tekton. Оператор Alauda DevOps Pipelines управляет обновлением всех компонентов Tekton (Pipelines, Triggers, Hub и др.) в соответствии с вашей конфигурацией.

    Перед началом

    Перед обновлением оператора Alauda DevOps Pipelines убедитесь, что вы:

    • Имеете административный доступ к вашему кластеру
    • Ознакомились с примечаниями к выпуску новой версии, чтобы понять возможные несовместимости
    • Проверили, что текущие конфигурации компонентов Tekton совместимы с новой версией
    • Убедились, что все компоненты Tekton находятся в состоянии готовности
    • Загрузили новую версию оператора, обратитесь к руководству по установке для инструкций по загрузке оператора .

    Процесс обновления

    Использование Marketplace/OperatorHub

    1. Доступ к Marketplace/OperatorHub

      • Войдите в консоль управления вашим кластером
      • Перейдите в раздел Marketplace или OperatorHub
    2. Найдите оператор Alauda DevOps Pipelines

      • Введите Alauda DevOps Pipelines в строке поиска
      • Нажмите на карточку оператора Alauda DevOps Pipelines
    3. Просмотр доступных версий

      • На странице с деталями оператора Alauda DevOps Pipelines вы увидите информацию о текущей установленной версии
      • Интерфейс покажет, если доступна более новая версия
      • Вы можете переключаться между разными Channels, чтобы просмотреть все доступные версии
    4. Запуск обновления

      • Если целевая версия находится в другом Channel, сначала переключитесь на соответствующий Channel в подписке (Subscription)
      • Если в текущем Channel доступна новая версия, появится уведомление:
        • Обнаружена новая версия
          • Чтобы обновить только текущий оператор, нажмите Confirm для начала обновления.
    5. Настройка параметров обновления (если применимо)

      • Некоторые обновления могут предложить параметры конфигурации
      • В большинстве случаев настройки по умолчанию сохранят вашу текущую конфигурацию
    6. Подтверждение и запуск обновления

      • Нажмите Confirm для начала процесса
      • Проверьте детали обновления и подтвердите выбор
      • Система обновит оператор Alauda DevOps Pipelines, сохраняя ваши пользовательские ресурсы
    7. Мониторинг обновления

      • Прогресс обновления будет отображаться в интерфейсе OperatorHub
      • Также можно проверить статус в namespace tekton-operator:
        $ kubectl get pods -n tekton-operator
        Когда все поды будут в состоянии Running, обновление оператора завершено. Оператор автоматически обновит компоненты, такие как Pipelines, Triggers, Hub, Chains и др.
      • Проверьте статус обновления компонентов:
        $ kubectl get tektoninstallerset -A
        $ kubectl get pods -n tekton-pipelines
        Когда все компоненты и поды будут в состоянии Ready, обновление компонентов завершено.
    8. Проверка обновления

      • Убедитесь, что версия оператора Alauda DevOps Pipelines обновилась:
        $ kubectl get csv -n tekton-operator
        
        NAME                        DISPLAY                   VERSION   REPLACES   PHASE
        tektoncd-operator.v4.x.x    Alauda DevOps Pipelines   4.x.x     x          Succeeded
        Когда VERSION совпадает с новой версией, обновление завершено.
      • Проверьте корректную работу компонентов Tekton
        • Убедитесь, что ваши пайплайны успешно выполняются

    Использование CLI kubectl

    Вы также можете обновить оператор Alauda DevOps Pipelines через командную строку. Этот метод удобен для автоматизации или если вы предпочитаете работу через CLI.

    1. Проверьте текущую подписку

      • Сначала определите текущую подписку и её канал:
        $ kubectl get subscriptions.operators.coreos.com -A | grep tektoncd-operator
        
        NAMESPACE               NAME                    PACKAGE                 SOURCE     CHANNEL
        tekton-operator         tektoncd-operator       tektoncd-operator       platform   latest
    2. Переключитесь на целевой канал

      • Если нужно обновиться до версии из другого канала, примените патч к подписке:
        $ kubectl patch subscriptions.operators.coreos.com tektoncd-operator --type merge -p '{"spec":{"channel": "<target-channel>"}}' -n tekton-operator
        Замените <target-channel> на нужный канал (например, pipelines-4.1, latest).
    3. Ожидайте состояния UpgradePending

      • Следите за статусом подписки, пока он не станет UpgradePending:
        $ kubectl get subscriptions.operators.coreos.com tektoncd-operator -n tekton-operator -o yaml
        
        status:
          installplan:
            apiVersion: operators.coreos.com/v1alpha1
            kind: InstallPlan
            name: install-abc123
          state: UpgradePending
        В выводе ищите state: UpgradePending.
    4. Подтвердите InstallPlan

      • Когда подписка в состоянии UpgradePending, найдите соответствующий InstallPlan:

        $ kubectl get installplan -n tekton-operator
        
        NAME            CSV                        APPROVAL   APPROVED
        install-abc123  tektoncd-operator.v4.x.x  Manual     false
      • Подтвердите InstallPlan, установив поле approved в true:

        $ kubectl patch installplans.operators.coreos.com <installplan-name> --type merge -p '{"spec":{"approved":true}}' -n tekton-operator

        Замените <installplan-name> на имя InstallPlan из предыдущего шага.

    5. Мониторинг прогресса обновления

      • Следите за статусом подписки, пока он не станет готовым:

        $ kubectl get subscriptions.operators.coreos.com tektoncd-operator -n tekton-operator -o yaml -w
      • Проверьте статус подов оператора:

        $ kubectl get pods -n tekton-operator

        Дождитесь, пока все поды будут в состоянии Running.

    6. Проверка обновления

      • Подтвердите, что версия оператора обновилась:
        $ kubectl get csv -n tekton-operator
        
        NAME                        DISPLAY                   VERSION   REPLACES   PHASE
        tektoncd-operator.v4.x.x    Alauda DevOps Pipelines   4.x.x     x          Succeeded
    7. Мониторинг обновления компонентов

      • Оператор автоматически обновит компоненты Tekton. Следите за их прогрессом:
        $ kubectl get tektoninstallerset -A
        $ kubectl get pods -n tekton-pipelines
        Убедитесь, что все компоненты и поды достигли состояния Ready.
    NOTE

    Процесс обновления через CLI использует тот же механизм, что и через GUI. Главное отличие — вы вручную управляете переключением каналов и подтверждением InstallPlan.

    Действия после обновления

    После успешного завершения обновления:

    1. Проверьте статус компонентов

      • Убедитесь, что все компоненты Tekton обновлены:
        kubectl get tektonconfig,tektonpipeline,tektontrigger -A
        kubectl get tektoninstallerset -A
    2. Проверьте работоспособность

      • Запустите простой пайплайн, чтобы убедиться, что система работает корректно
      • Убедитесь, что все существующие интеграции продолжают функционировать
    3. Обновите пользовательские ресурсы при необходимости

      • Если новая версия вносит изменения в CRD, возможно, потребуется обновить ваши пользовательские ресурсы
      • Обратитесь к примечаниям к выпуску для конкретных шагов миграции

    Процедура отката

    Если при использовании новой версии возникли проблемы, вы можете откатиться к предыдущей версии:

    1. Вернитесь в интерфейс Marketplace/OperatorHub
    2. Выберите оператор Alauda DevOps Pipelines
    3. Выполните Uninstall текущей версии
    4. Выберите предыдущую версию из списка версий
    5. Следуйте процессу установки для выбранной версии
    NOTE

    Понижение версии может потребовать дополнительных действий для обеспечения совместимости ваших ресурсов с более старой версией.

    Это зависит от различий между версией, с которой вы обновлялись, и версией, на которую обновились. При значительных различиях может потребоваться ручная миграция ресурсов.

    Устранение неполадок

    Если во время или после обновления возникли проблемы:

    • Проверьте логи подов оператора Alauda DevOps Pipelines:

      $ kubectl logs -l name=tekton-operator -n tekton-operator
    • Проверьте статус ваших ресурсов Tekton:

      $ kubectl get tektonconfig config -o yaml
    • Убедитесь, что все компоненты имеют ожидаемый статус:

      $ kubectl get tektoninstallerset

    Следующие шаги

    После успешного обновления оператора Alauda DevOps Pipelines:

    • Ознакомьтесь с новыми функциями, представленными в последней версии
    • Обновите ваши CI/CD пайплайны для использования новых возможностей
    • Рассмотрите возможность включения дополнительных компонентов, доступных в новой версии