Tekton Pruner 未部署

问题描述

安装后缺少 Tekton Pruner 组件,因此 pruning 无法工作。

错误表现

  • tekton-pruner-controller 和 tekton-pruner-webhook Deployments 不存在于 tekton-pipelines namespace 中。
  • 相应的 Pods 未创建。

根因分析

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

更多信息请参见 Tekton Pruner Configuration。

故障排查

TIP

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

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

按照以下步骤启用基于 event-based 的 pruner:

  1. 编辑 TektonConfig resource,将 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 对更改进行 reconcile。

  3. 验证 Deployments 和 Pods 是否已创建:

    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

相关内容