Развертывание 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. Если он был удален или не работает, переустановите его перед повторным запуском конвейеров пользователями.