Миграция с 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(требуется для совместимости сKatanomipipeline) - Версия: можно выбрать любую версию из канала
pipelines-4.0
Выбор канала latest может привести к автоматическим обновлениям до версий v4.x или выше в будущем, что может вызвать необратимые проблемы совместимости с Katanomi pipelines.
:::
4. Следуйте инструкциям на экране для завершения развертывания
5. Дождитесь готовности оператора Alauda DevOps Pipelines
После завершения развертывания оператора Alauda DevOps Pipelines он автоматически развернет связанные компоненты, такие как Pipelines. Вы можете проверить статус компонентов с помощью следующих команд:
Дождитесь, пока оба ресурса не покажут статус Ready, прежде чем переходить к следующему шагу.
3. (Опционально) Настройка ресурсов оператора для масштабных миграций
Если в вашей среде содержится большое количество существующих ресурсов TaskRun и PipelineRun, оператор Tekton может столкнуться с ошибками 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 для обеспечения обратной совместимости с вашими существующими Pipelines и образами контейнеров.
Однако такая конфигурация приведет к сбоям новых Pipelines, использующих Tasks из каталога Tekton, поскольку эти каталоговые Tasks требуют runAsUser: 65532 и fsGroup: 65532 для безопасности и правильных прав доступа к файлам.
Решение: Чтобы обеспечить корректную работу как старых Pipelines, так и новых (использующих официальные Tasks), необходимо переопределить конфигурацию Pod шаблона на уровне PipelineRun для Pipelines, использующих официальные Tasks.
Для подробного руководства по настройке Pod шаблонов для различных сценариев, включая:
- Как переопределять Pod шаблон для конкретных PipelineRuns
- Использование TaskRunSpecs для тонкой настройки при смешивании официальных и кастомных Tasks
- Лучшие практики безопасности и примеры конфигураций (см. Пример 5: Использование официальных Tasks с устаревшей глобальной конфигурацией)
Пожалуйста, обратитесь к Руководству по настройке Pod шаблона.
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, чтобы понять все возможности новой версии и максимально эффективно их использовать.