Tekton Pruner 未部署

问题描述

安装后缺少 Tekton Pruner 组件,因此清理功能无法工作。

错误表现

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

根本原因分析

Tekton Pruner 是一种基于事件的 pruner,且默认处于禁用状态。 如果 job-based pruner 未被禁用,或者 event-based pruner 仍处于禁用状态,operator 将不会部署 Tekton Pruner 组件。

有关更多信息,请参阅 Tekton Pruner Configuration

故障排查

TIP

以下说明假定你已将 Tekton 默认安装到 tekton-pipelines 命名空间中。

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

按照以下步骤启用基于事件的 pruner:

  1. 编辑 TektonConfig 资源,将 spec.pruner.disabled 设置为 true,并将 spec.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

相关内容