为了更容易地区分与定义管道中的对象,被Tekton管道使用的自定义 标签 集将会从一般资源传递到更具体的资源,另一些标签将会被自动添加,以便于标识资源之间的关系.
针对通过PipelineRun来执行的Pipelines,标签自动从Pipelines传递到PipelineRun到TaskRuns,然后到Pods,另外,来自于被TaskRuns引用的Tasks的标签将会被传递到TaskRuns,最后到Pods.
针对于直接执行的TaskRuns,未作为Pipeline的一部分,标签从Task(如果存在,参考指定Task文档)传递到TaskRun,最后到Pod.
对于条件,标签自动传递到关联的TaskRuns,最后到Pods.
以下标签被自动添加到资源:
tekton.dev/pipeline自动添加到PipelineRuns(然后传递到TaskRuns及Pods),值为PipelineRun关联的Pipeline名称.tekton.dev/pipelineRun自动添加到TaskRuns(然后传递到TaskRuns及Pods), 他在PipelineRun运行期间自动创建,包含自动触发创建TaskRun的PipelineRun的名称.tekton.dev/task自动添加到TaskRuns(然后传递到Pods),它指向一个已存在的Task(参考指定Task文档),包含TaskRun相关的Task的名称.tekton.dev/clusterTask自动添加到TaskRuns(然后传递到Pods) ,它指向一个已经存在的ClusterTask, 包含TaskRun关联的ClusterTask的名称,为了向前兼容,TaskRuns引用的ClusterTask也会接收tekton.dev/task标签.tekton.dev/taskRun自动添加到Pods, 它包含创建Pods的TaskRun的名称.
为了找到名称为test-pipelinerun的PipelineRun所创建的Pods,你可以使用以下命令:
kubectl get pods --all-namespaces -l tekton.dev/pipelineRun=test-pipelinerun为了找到名称为test-task的Task所关联的所有TaskRuns,你可以使用以下命令:
kubectl get taskruns --all-namespaces -l tekton.dev/task=test-task为了找到名称为test-clustertaskClusterTask所关联的所有TaskRuns,你可以使用以下命令:
kubectl get taskruns --all-namespaces -l tekton.dev/clusterTask=test-clustertask