• Русский
  • Быстрый старт

    Это руководство поможет вам быстро понять и создать вашу первую конфигурацию для Tekton Pruner.

    Требования

    1. Требования к окружению
    • Установлен Tekton Operator
    • Убедитесь, что Tekton Pipelines установлен и готов к работе через Operator
    1. Необходимые инструменты
    • Командная строка kubectl

    Шаг 1: Настройка Tekton Pruner

    WARNING

    Важно: Tekton Pruner — это event-based pruner, который по умолчанию отключён. Чтобы включить event-based pruner, существующий job-based pruner ДОЛЖЕН быть отключён.

    • Оба pruner-а (job-based и event-based) не могут быть включены одновременно
    • event-based pruner реагирует на события ресурсов в реальном времени, обеспечивая более эффективную очистку

    Если вы хотите использовать job-based pruner, пожалуйста, обратитесь к разделу Regular Cleanup of TaskRun and PipelineRun Resources.

    Настройте Tekton Pruner на удаление завершённых ресурсов через 5 минут и сохранение последних 3 запусков, применив следующую конфигурацию:

    kubectl patch tektonconfigs.operator.tekton.dev config --type=merge -p='{
      "spec": {
        "pruner": {
          "disabled": true
        },
        "tektonpruner": {
          "disabled": false,
          "global-config": {
            "enforcedConfigLevel": "global",
            "ttlSecondsAfterFinished": 300,
            "successfulHistoryLimit": 3,
            "failedHistoryLimit": 3
          }
        }
      }
    }'
    # tektonconfig.operator.tekton.dev/config patched
    ПараметрОписаниеПример
    ttlSecondsAfterFinishedВремя в секундах, в течение которого сохраняются завершённые запуски перед очисткой300 (5 мин)
    successfulHistoryLimitМаксимальное количество успешных запусков для сохранения3
    failedHistoryLimitМаксимальное количество неудачных запусков для сохранения3
    historyLimitМаксимальное количество запусков для сохранения по каждому статусу (применяется отдельно к успешным и неудачным)5
    enforcedConfigLevelУровень иерархии конфигурацииglobal или namespace

    Параметр enforcedConfigLevel определяет иерархию конфигурации:

    • global: Значения по умолчанию для всего кластера применяются ко всем namespace (переопределения на уровне namespace не допускаются)
    • namespace: Позволяет переопределять настройки на уровне namespace через ConfigMap в отдельных namespace

    Для получения дополнительной информации обратитесь к разделу Pruner Configuration.

    Шаг 2: Тестирование конфигурации

    Создайте тестовые PipelineRun для проверки работы очистки:

    # Создаём простой pipeline
    kubectl apply -f - <<EOF
    apiVersion: tekton.dev/v1
    kind: Pipeline
    metadata:
      name: hello-pipeline
    spec:
      tasks:
        - name: hello
          taskSpec:
            steps:
              - name: echo
                image: busybox:latest
                command: ['echo']
                args: ['hello world']
    EOF
    
    # Создаём несколько запусков
    for i in {1..5}; do
      kubectl create -f - <<EOF
    apiVersion: tekton.dev/v1
    kind: PipelineRun
    metadata:
      generateName: hello-pipeline-run-
    spec:
      pipelineRef:
        name: hello-pipeline
    EOF
    done
    
    # Наблюдаем за очисткой в действии (после 5 минут + время выполнения)
    kubectl get pipelineruns -w

    Следующие шаги