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