Миграция с 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 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 для обеспечения обратной совместимости с вашими существующими Pipelines и образами контейнеров.
Однако такая конфигурация приведет к сбоям новых Pipelines, использующих Tasks из каталога Tekton, поскольку эти Tasks требуют runAsUser: 65532 и fsGroup: 65532 для безопасности и корректных прав доступа к файлам.
Решение: Чтобы обеспечить корректную работу как устаревших, так и новых Pipelines (использующих официальные Tasks), необходимо переопределить конфигурацию Pod шаблона на уровне PipelineRun для Pipelines с официальными Tasks.
Для подробных инструкций по настройке Pod шаблонов для различных сценариев, включая:
- Как переопределять Pod шаблон для конкретных PipelineRun
- Использование 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, чтобы узнать обо всех возможностях новой версии и максимально эффективно их использовать.