Tekton Pruner 未部署

目录

问题描述

安装后缺少 Tekton Pruner 组件,导致修剪功能无法正常工作。

错误表现

  • tekton-pipelines 命名空间中不存在 tekton-pruner-controllertekton-pruner-webhook 的 Deployment。
  • 对应的 Pod 未被创建。

根因分析

Tekton Pruner 是基于事件驱动的修剪器,且默认处于禁用状态。 如果未禁用基于作业的修剪器,或者事件驱动的修剪器仍然被禁用,operator 将不会部署 Tekton Pruner 组件。

更多信息请参见 Tekton Pruner Configuration

故障排查

TIP

以下操作假设您已默认将 Tekton 安装在 tekton-pipelines 命名空间中。

如果您安装在其他命名空间,请将 tekton-pipelines 替换为您的命名空间。

按照以下步骤启用事件驱动的修剪器:

  1. 编辑 TektonConfig 资源,将 spec.pruner.disabled 设置为 truespec.tektonpruner.disabled 设置为 false

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pruner:
        disabled: true
      tektonpruner:
        disabled: false
  2. 等待 operator 进行变更的协调。

  3. 验证 Deployment 和 Pod 是否已创建:

    kubectl get deploy -n tekton-pipelines | grep -E 'tekton-pruner-(controller|webhook)'
    # tekton-pruner-controller            1/1     1            1           10s
    # tekton-pruner-webhook               1/1     1            1           10s
    
    kubectl get pods -n tekton-pipelines | grep -E 'tekton-pruner-(controller|webhook)'
    # tekton-pruner-controller-c57b4df49-qbghd             1/1     Running   0          93m
    # tekton-pruner-webhook-67c56df4b-twd4p                1/1     Running   0          93m

相关内容