Превышен лимит результата при записи результатов задачи Tekton
Описание проблемы
Когда шаг Task записывает относительно большой объем данных в результат Task, вывод может завершиться с ошибкой из-за ограничения размера.
Проявление ошибки
-
В логах Pod отображается сообщение об переполнении termination message (результат слишком большой для стандартного ограничения в 4 КБ):
Анализ причины
По умолчанию Tekton Pipelines получает результаты Task через termination message контейнера, который Kubernetes ограничивает размером в 4 КБ. Это фактически ограничивает максимальный размер результата одного Task до 4096 байт.
Для снятия этого ограничения Tekton поддерживает чтение результатов из логов сайдкара, где применяется настраиваемый параметр max-result-size для каждого результата.
Устранение неполадок
Следующие инструкции предполагают, что вы установили Tekton Pipeline в namespace tekton-pipelines по умолчанию.
Если вы установили его в другой namespace, замените tekton-pipelines на ваш namespace.
Ниже приведены шаги для настройки лимита размера результата:
-
Отредактируйте ресурс TektonConfig, установив
spec.pipeline.results-fromиspec.pipeline.max-result-sizeследующим образом: -
ConfigMap
feature-flagsобновится автоматически. -
Поскольку функция
results-from: sidecar-logsвключена, необходимо настроить разрешения на доступ к логам для контроллера:Техническая заметка: Эта настройка позволяет контроллеру получать информацию о результатах из логов pod. Для подробной информации обратитесь к официальной документации Tekton.
-
Перезапуск компонентов вручную не требуется, изменения вступят в силу автоматически.