Развертывание Manual Approval Gate
Содержание
Обзор функцииСценарии использованияПредварительные требованияШаги1. Создайте CRManualApprovalGate2. Проверьте состояние контроллера3. Переконфигурируйте или принудительно обновите развертывание4. Удаление Manual Approval GateРезультаты работыУстранение неполадокДополнительная информацияОбзор функции
Manual Approval Gate предоставляет контроллер с областью действия на уровне кластера и вебхуки, поддерживающие пользовательские задачи ApprovalTask. Администраторы должны создавать и поддерживать пользовательский ресурс (CR) ManualApprovalGate, чтобы пользователи платформы могли вставлять ручные утверждения в свои конвейеры. В этом руководстве объясняется, как развернуть компонент Manual Approval Gate в tekton-pipelines, настроить параметры времени выполнения и безопасно удалить его.
Сценарии использования
- Включение ручных утверждений для всех команд в кластере путем предоставления управляемого контроллера.
- Настройка развертываний контроллера (например, количество реплик, лимиты ресурсов или ConfigMaps) через контракт
optionsоператора вместо редактирования манифестов. - Очистка функции, когда задачи утверждения больше не требуются.
Предварительные требования
Alauda DevOps Pipelinesверсии 4.6.0 или выше с доступом cluster-admin.kubectl, настроенный для работы с целевым кластером.
Шаги
1. Создайте CR ManualApprovalGate
Сохраните манифест как manual-approval-gate.yaml и примените его:
spec.targetNamespaceопределяет, где создаются развертывания контроллера, вебхуки и ConfigMaps. Рекомендуется использоватьtekton-pipelines, чтобы компонент находился рядом с другими сервисами Tekton, но вы можете указать любой namespace, при условии, что он существует (или будет создан) до применения CR.- Используйте
spec.optionsдля переопределения Deployments, ConfigMaps или полей образов без редактирования сгенерированного YAML. Для подробного синтаксиса смотрите Adjusting Optional Configuration Items of Subcomponents.
2. Проверьте состояние контроллера
Условие READY CR должно показывать True, и вы должны видеть запущенные развертывания контроллера и вебхука в tekton-pipelines.
3. Переконфигурируйте или принудительно обновите развертывание
-
Примените патч к CR для изменения количества реплик или других опций; оператор автоматически обновит рабочие нагрузки:
4. Удаление Manual Approval Gate
CRD остается установленным, чтобы вы могли в дальнейшем воссоздать CR, но развертывания, сервисы и вебхуки должны исчезнуть.
Результаты работы
kubectl get manualapprovalgatesпоказывает экземпляр сREADY=True,VERSION=<release>, и пустым илиInstalledв полеREASON.kubectl get pods -n tekton-pipelines | grep manual-approval-gateвыводит поды контроллера и вебхука в состоянииRunning.- После удаления не остается подов или сервисов с такими же метками, и оператор прекращает согласование ресурсов
ApprovalTaskдо воссоздания CR.
Устранение неполадок
- CR
ManualApprovalGateзастрял в состоянииNotReady: Выполнитеkubectl describe manualapprovalgate manual-approval-gateдля проверки событий, затем просмотрите логи оператора (kubectl logs -n tekton-operator deploy/tekton-operator). Наиболее частые причины — ошибки в поляхspec.optionsили недостаточные привилегии. - Поды контроллера/вебхука постоянно перезапускаются: Опишите проблемные поды в
tekton-pipelines, чтобы проверить наличие секретов TLS или ConfigMaps. Повторное применение CR обычно автоматически восстанавливает эти ресурсы. - Ресурсы
ApprovalTaskне создаются: Убедитесь, что CRManualApprovalGateсуществует и имеетREADY=True. Если он был удален или не работает, переустановите его перед повторным запуском конвейеров пользователями.