• Русский
  • Обновление оператора 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. Просмотр доступных версий

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

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

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

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

      • Прогресс обновления будет отображаться в интерфейсе OperatorHub
      • Также можно проверить статус в пространстве имён 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
        • Убедитесь, что ваши pipelines успешно выполняются

    Использование 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. Тестирование функциональности

      • Запустите простой pipeline, чтобы проверить корректность работы системы
      • Убедитесь, что все существующие интеграции продолжают работать
    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 pipelines для использования новых возможностей
    • Рассмотрите возможность включения дополнительных компонентов, доступных в новой версии