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

    Сначала подтвердите целевой канал

    Перед тем как подтверждать обновление, проверьте, какой канал использует ваша Subscription:

    • stable (по умолчанию начиная с v4.6.3): отслеживает LTS-обновления исправлений v4.6.z. Рекомендуется для production.
    • latest: отслеживает каждый выпуск v4.6.z. Эквивалентен stable в ветке 4.6 LTS и был значением по умолчанию до v4.6.3.
    • pipelines-4.6: отслеживает только обновления исправлений v4.6.z — тот же контент, что и у stable.
    NOTE

    Все три канала содержат один и тот же поток исправлений v4.6.z в ветке release-4.6. Выбор канала в основном влияет на то, какое имя канала отображается в вашей Subscription; поведение обновления одинаково для всех трёх.

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

    Использование 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
      • Также можно проверить состояние в пространстве имен tekton-operator:
        $ kubectl get pods -n tekton-operator
        Когда все pod'ы перейдут в состояние Running, обновление оператора будет завершено. После этого оператор автоматически обновит такие компоненты, как Pipelines, Triggers, Hub, Chains и т. д.
      • Проверьте состояние обновления компонентов:
        $ kubectl get tektoninstallerset -A
        $ kubectl get pods -n tekton-pipelines
        Когда все компоненты и pod'ы перейдут в состояние 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. Проверьте текущую Subscription

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

      • Если вам нужно обновиться до версии в другом канале, выполните patch Subscription:
        $ 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

      • Отслеживайте состояние Subscription, пока оно не станет 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

      • Когда Subscription находится в состоянии 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. Отслеживайте ход обновления

      • Наблюдайте за состоянием Subscription, пока оно не станет готовым:

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

        $ kubectl get pods -n tekton-operator

        Дождитесь, пока все pod'ы перейдут в состояние 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
        Убедитесь, что все компоненты и pod'ы достигли состояния 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

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

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

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

    Если вы столкнулись с проблемами во время обновления или после него:

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