Alauda DevOps Tekton v3 на Alauda DevOps PipelinesAlauda DevOps Tekton v3 на Alauda DevOps Pipelines. Для обновления между версиями Alauda DevOps Pipelines обратитесь к документации по обновлению Pipelines.В этом руководстве приведены подробные шаги для плавной миграции с Alauda DevOps Tekton v3 на Alauda DevOps Pipelines. Процесс обновления разработан как бесшовная миграция, чтобы ваши существующие CI/CD конвейеры остались без изменений.
Alauda DevOps Tekton v3Перед началом обновления необходимо удалить существующие компоненты Tekton. Выполните следующие шаги:
Важное замечание: Процесс удаления не повлияет на ваши существующие ресурсы Task, TaskRun, Pipeline и PipelineRun. Эти ресурсы останутся без изменений после завершения обновления.
Удалите экземпляр Pipeline
Проверьте удаление экземпляра Pipeline
Убедитесь, что команда не возвращает ресурсов, что означает успешное удаление.
Удалите Tekton Operator
Проверьте удаление оператора
Убедитесь, что команда не возвращает результатов, что означает успешное удаление.
Alauda DevOps PipelinesAdministrator -> Application Market Management -> OperatorHubAlauda DevOps Pipelines вы ДОЛЖНЫ выбрать канал pipelines-4.0. НЕ выбирайте канал latest.pipelines-4.0 (требуется для совместимости с Katanomi pipeline)pipelines-4.0Выбор канала latest может привести к автоматическим обновлениям до версий v4.x или выше в будущем, что может вызвать необратимые проблемы совместимости с Katanomi pipelines.
:::
4. Следуйте инструкциям на экране для завершения развертывания
5. Дождитесь готовности оператора Alauda DevOps Pipelines
После завершения развертывания оператора Alauda DevOps Pipelines он автоматически развернет связанные компоненты, такие как Pipelines. Вы можете проверить статус компонентов с помощью следующих команд:
Дождитесь, пока оба ресурса не покажут статус Ready, прежде чем переходить к следующему шагу.
Если в вашей среде содержится большое количество существующих ресурсов TaskRun и PipelineRun, оператор Tekton может столкнуться с ошибками Out of Memory (OOM) во время одноразового процесса миграции данных. Поскольку оператор обычно не требует таких больших ресурсов, стандартные лимиты могут быть недостаточны.
Этот шаг необходим только при большом объеме существующих ресурсов Tekton. Для большинства установок можно пропустить этот шаг и перейти к шагу 4.
Вы можете временно увеличить лимиты ресурсов оператора одним из следующих способов:
Метод 1: Через UI платформы
Alauda DevOps PipelinesМетод 2: Через kubectl CLI
Добавьте следующий раздел config в spec:
Значения resources можно настроить в зависимости от потребностей вашей среды. Пример ниже представляет сбалансированную конфигурацию, подходящую для большинства сценариев.
Эта конфигурация изменяет квоты ресурсов Pod оператора tekton-operator.
После развертывания оператор автоматически начнет миграцию существующих ресурсов Tekton. Вы можете отслеживать прогресс миграции через логи оператора или проверять статус TektonConfig, как описано в шаге 5 ниже. После завершения миграции можно удалить раздел config для восстановления стандартных настроек.
Tekton только в Alauda Container Platform Builds, вы можете пропустить следующие шаги и использовать стандартную конфигурацию Alauda DevOps Pipelines напрямую.Tekton только в Alauda Container Platform Builds, вы можете пропустить следующие шаги и использовать стандартную конфигурацию Alauda DevOps Pipelines напрямую.После завершения развертывания оператора Alauda DevOps Pipelines необходимо настроить ресурс TektonConfig для обеспечения совместимости с вашей существующей системой:
Рекомендуемая практика: рекомендуется изменять только конфигурацию в разделе
spec.pipelineдля поддержания стабильности системы.
Данная конфигурация устанавливает runAsUser: 0 в глобальном default-pod-template для обеспечения обратной совместимости с вашими существующими Pipelines и образами контейнеров.
Однако такая конфигурация приведет к сбоям новых Pipelines, использующих Tasks из каталога Tekton, поскольку эти каталоговые Tasks требуют runAsUser: 65532 и fsGroup: 65532 для безопасности и правильных прав доступа к файлам.
Решение: Чтобы обеспечить корректную работу как старых Pipelines, так и новых (использующих официальные Tasks), необходимо переопределить конфигурацию Pod шаблона на уровне PipelineRun для Pipelines, использующих официальные Tasks.
Для подробного руководства по настройке Pod шаблонов для различных сценариев, включая:
Пожалуйста, обратитесь к .
После развертывания оператора Alauda DevOps Pipelines (шаг 2) он автоматически начинает миграцию существующих ресурсов Tekton. Вы можете в любой момент во время или после настройки отслеживать прогресс миграции и проверять её завершение.
Вы можете в реальном времени наблюдать за прогрессом миграции, просматривая логи tekton-operator-webhook:
В логах миграции вы увидите записи, например:
migrating %d group resources — показывает общее количество типов ресурсов для миграцииmigrating group resource — начало миграции конкретного типа ресурсаmigration completed — завершение миграции конкретного типа ресурсаДля проверки завершения миграции проверьте статус ресурса TektonConfig:
Обратите внимание на аннотации версий в выводе:
Миграция считается завершённой, когда pre-upgrade-version и post-upgrade-version совпадают с текущей version.
Если вы изменяли ресурсы оператора на шаге 3, теперь вы можете удалить раздел config из Subscription для восстановления стандартных настроек ресурсов.
Tekton только в Alauda Container Platform Builds, вы можете пропустить следующие шаги и использовать стандартную конфигурацию Alauda DevOps Pipelines напрямую.Поскольку включена функция results-from: sidecar-logs, необходимо настроить разрешения доступа к логам для контроллера:
Техническое примечание: Эта настройка позволяет контроллеру получать информацию о результатах из логов Pod. Для подробной информации обратитесь к официальной документации Tekton.
После выполнения вышеописанных шагов вы успешно мигрировали с Alauda DevOps Tekton v3 на Alauda DevOps Pipelines. Новая версия предоставляет:
Рекомендуем ознакомиться с документацией Alauda DevOps Pipelines, чтобы понять все возможности новой версии и максимально эффективно их использовать.