OpenShift Pipelines 中的可观察性
OpenShift Pipelines 的可观察性功能
摘要
第 1 章 为 OpenShift Pipelines 可观察性使用 Tekton 结果 复制链接链接已复制到粘贴板!
Tekton Results 是一个记录每个管道运行和任务运行的完整信息的服务。您可以根据需要修剪 PipelineRun 和 TaskRun 资源,并使用 Tekton Results API 或 opc 命令行工具访问其 YAML 清单以及日志信息。
1.1. Tekton Results 概念 复制链接链接已复制到粘贴板!
Tekton Results 归档管道运行和任务以结果和记录的形式运行。
对于每个完成运行的 PipelineRun 和 TaskRun 自定义资源(CR),Tekton Results 会创建一个 记录。
结果 可以包含一个或多个记录。记录始终是一个结果的一部分。
结果与管道运行对应,包括 PipelineRun CR 本身以及作为管道运行一部分启动的所有 TaskRun CR 的记录。
如果任务运行是直接启动的,如果没有使用管道运行,则会为此任务运行创建一个结果。此结果包含同一任务运行的记录。
每个结果都有一个名称,其中包含创建 PipelineRun 或 TaskRun CR 的命名空间以及 CR 的 UUID。结果名称为 < namespace_name>/results/<parent_run_uuid > 的格式。在这个格式中,<parent_run_uuid > 是管道运行的 UUD,或其他任务运行已直接启动的。
结果名称示例
results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed
每个记录都有一个名称,其中包含记录的结果名称,以及 PipelineRun 或 TaskRun CR 的 UUID。结果名称的格式为 < namespace_name>/results/<parent_run_uuid>/results/<run_uuid >。
记录名称示例
results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/e9c736db-5665-441f-922f-7c1d65c9d621
记录包括 TaskRun 或 PipelineRun CR 的完整 YAML 清单,因为它会在完成运行后存在。此清单包含运行规格、为运行指定的任何注解,以及有关运行结果的特定信息,如完成时间和运行是否成功。
当 TaskRun 或 PipelineRun CR 存在时,您可以使用以下命令查看 YAML 清单:
$ oc get pipelinerun <cr_name> -o yaml
Tekton Results 在 TaskRun 或 PipelineRun CR 被删除后保留此清单,并使其可用于查看和搜索。
管道的 YAML 清单在完成后运行
kind: PipelineRun
spec:
params:
- name: message
value: five
timeouts:
pipeline: 1h0m0s
pipelineRef:
name: echo-pipeline
taskRunTemplate:
serviceAccountName: pipeline
status:
startTime: "2023-08-07T11:41:40Z"
conditions:
- type: Succeeded
reason: Succeeded
status: "True"
message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0'
lastTransitionTime: "2023-08-07T11:41:49Z"
pipelineSpec:
tasks:
- name: echo-task
params:
- name: message
value: five
taskRef:
kind: Task
name: echo-task-pipeline
params:
- name: message
type: string
completionTime: "2023-08-07T11:41:49Z"
childReferences:
- kind: TaskRun
name: echo-pipeline-run-gmzrx-echo-task
apiVersion: tekton.dev/v1
pipelineTaskName: echo-task
metadata:
uid: 62c3b02e-f12b-416c-9771-c02af518f6d4
name: echo-pipeline-run-gmzrx
labels:
tekton.dev/pipeline: echo-pipeline
namespace: releasetest-js5tt
finalizers:
- chains.tekton.dev/pipelinerun
generation: 2
annotations:
results.tekton.dev/log: releasetest-js5tt/results/62c3b02e-f12b-416c-9771-c02af518f6d4/logs/c1e49dd8-d641-383e-b708-e3a02b6a4378
chains.tekton.dev/signed: "true"
results.tekton.dev/record: releasetest-js5tt/results/62c3b02e-f12b-416c-9771-c02af518f6d4/records/62c3b02e-f12b-416c-9771-c02af518f6d4
results.tekton.dev/result: releasetest-js5tt/results/62c3b02e-f12b-416c-9771-c02af518f6d4
generateName: echo-pipeline-run-
managedFields:
- time: "2023-08-07T11:41:39Z"
manager: kubectl-create
fieldsV1:
f:spec:
.: {}
f:params: {}
f:pipelineRef:
.: {}
f:name: {}
f:metadata:
f:generateName: {}
operation: Update
apiVersion: tekton.dev/v1
fieldsType: FieldsV1
- time: "2023-08-07T11:41:40Z"
manager: openshift-pipelines-controller
fieldsV1:
f:metadata:
f:labels:
.: {}
f:tekton.dev/pipeline: {}
operation: Update
apiVersion: tekton.dev/v1
fieldsType: FieldsV1
- time: "2023-08-07T11:41:49Z"
manager: openshift-pipelines-chains-controller
fieldsV1:
f:metadata:
f:finalizers:
.: {}
v:"chains.tekton.dev/pipelinerun": {}
f:annotations:
.: {}
f:chains.tekton.dev/signed: {}
operation: Update
apiVersion: tekton.dev/v1
fieldsType: FieldsV1
- time: "2023-08-07T11:41:49Z"
manager: openshift-pipelines-controller
fieldsV1:
f:status:
f:startTime: {}
f:conditions: {}
f:pipelineSpec:
.: {}
f:tasks: {}
f:params: {}
f:completionTime: {}
f:childReferences: {}
operation: Update
apiVersion: tekton.dev/v1
fieldsType: FieldsV1
subresource: status
- time: "2023-08-07T11:42:15Z"
manager: openshift-pipelines-results-watcher
fieldsV1:
f:metadata:
f:annotations:
f:results.tekton.dev/log: {}
f:results.tekton.dev/record: {}
f:results.tekton.dev/result: {}
operation: Update
apiVersion: tekton.dev/v1
fieldsType: FieldsV1
resourceVersion: "126429"
creationTimestamp: "2023-08-07T11:41:39Z"
deletionTimestamp: "2023-08-07T11:42:23Z"
deletionGracePeriodSeconds: 0
apiVersion: tekton.dev/v1
您可以通过其名称访问每个结果并记录。您还可以使用通用表达式语言(CEL)查询来根据其包含的信息(包括 YAML 清单)搜索结果和记录。
您可以将 Tekton Results 配置为促进将作为管道或任务一部分运行的所有工具的日志信息转发到 LokiStack。然后,您可以查询与 Tekton Results 记录关联的任务运行的 Tekton Results 信息。
您还可以根据管道运行和任务运行的名称查询结果和日志。
1.2. 配置 Tekton 结果 复制链接链接已复制到粘贴板!
安装 OpenShift Pipelines 后,Tekton Results 会被默认启用。
但是,如果要存储和访问管道运行的日志信息和任务运行,您必须配置此信息转发到 LokiStack。
您可以选择为 Tekton Results 完成额外的配置。
1.2.1. 为日志信息配置 LokiStack 转发 复制链接链接已复制到粘贴板!
如果要使用 Tekton Results 查询任务运行的日志信息,您必须在 OpenShift Container Platform 集群上安装 LokiStack 和 OpenShift Logging,并将日志信息转发到 LokiStack。
如果没有为日志信息配置 LokiStack 转发,Tekton Results 不会存储此信息,或者从命令行界面或 API 提供它。
先决条件
-
已安装 OpenShift CLI (
oc)实用程序。 - 以集群管理员用户身份登录 OpenShift Container Platform 集群。
流程
要配置 LokiStack 转发,请完成以下步骤:
- 在 OpenShift Container Platform 集群中,使用 Loki Operator 安装 LokiStack,同时安装 OpenShift Logging Operator。
根据您安装的 OpenShift Logging 版本 6 或版本 5,为
ClusterLogForwarder自定义资源(CR)创建一个ClusterLogForwarder.yaml清单文件,包含以下 YAML 清单之一:如果安装了 OpenShift Logging 版本 6,
ClusterLogForwarderCR 的 YAML 清单apiVersion: observability.openshift.io/v1 kind: ClusterLogForwarder metadata: name: collector namespace: openshift-logging spec: inputs: - application: selector: matchExpressions: - key: app.kubernetes.io/managed-by operator: In values: ["tekton-pipelines", "pipelinesascode.tekton.dev"] name: only-tekton type: application managementState: Managed outputs: - lokiStack: labelKeys: application: ignoreGlobal: true labelKeys: - log_type - kubernetes.namespace_name - openshift_cluster_id authentication: token: from: serviceAccount target: name: logging-loki namespace: openshift-logging name: default-lokistack tls: ca: configMapName: openshift-service-ca.crt key: service-ca.crt type: lokiStack pipelines: - inputRefs: - only-tekton name: default-logstore outputRefs: - default-lokistack serviceAccount: name: collector如果安装了 OpenShift Logging 版本 5,
ClusterLogForwarderCR 的 YAML 清单apiVersion: "logging.openshift.io/v1" kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging spec: inputs: - name: only-tekton application: selector: matchLabels: app.kubernetes.io/managed-by: tekton-pipelines pipelines: - name: enable-default-log-store inputRefs: [ only-tekton ] outputRefs: [ default ]输入以下命令在
openshift-logging命名空间中创建ClusterLogForwarderCR:$ oc apply -n openshift-logging ClusterLogForwarder.yaml使用以下命令编辑
TektonConfig自定义资源(CR):$ oc edit TektonConfig config在
结果spec 中进行以下更改:apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: result: loki_stack_name: logging-loki1 loki_stack_namespace: openshift-logging2
1.2.2. 配置外部数据库服务器 复制链接链接已复制到粘贴板!
Tekton Results 使用 PostgreSQL 数据库来存储数据。默认情况下,安装包含一个内部 PostgreSQL 实例。您可以将安装配置为使用部署中已存在的外部 PostgreSQL 服务器。
流程
输入以下命令,使用凭证创建 secret 以连接到 PostgreSQL 服务器:
$ oc create secret generic tekton-results-postgres \ --namespace=openshift-pipelines \ --from-literal=POSTGRES_USER=<user> \ --from-literal=POSTGRES_PASSWORD=<password>使用以下命令编辑
TektonConfig自定义资源(CR):$ oc edit TektonConfig config在
结果spec 中进行以下更改:apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: result: is_external_db: true db_host: database.example.com1 db_port: 53422
1.2.3. 为 Tekton 结果配置保留策略 复制链接链接已复制到粘贴板!
默认情况下,Tekton Results 存储管道运行、任务运行、事件和日志无限期存储。这会导致存储资源的不必要的使用,并可能会影响您的数据库性能。
您可以在集群级别为 Tekton Results 配置保留策略,以删除旧的结果及其关联的记录和日志。
流程
使用以下命令编辑
TektonConfig自定义资源(CR):$ oc edit TektonConfig config在
结果spec 中进行以下更改:apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: result: options: configMaps: config-results-retention-policy: data: runAt: "3 5 * * 0"1 maxRetention: "30"2
1.3. 查询结果和记录的 Tekton 结果 复制链接链接已复制到粘贴板!
您可以使用 opc 命令行工具查询 Tekton 结果以获取结果和记录。要安装 opc 命令行工具,请为 tkn 命令行工具安装软件包。有关安装此软件包的步骤,请参阅安装 tkn。
您可以使用记录的名称和结果来检索其中的数据。
您可以使用通用表达式语言(CEL)查询搜索结果和记录。这些搜索显示结果或记录的 UUID。您可以使用提供的示例来创建对常见搜索类型的查询。您还可以使用参考信息来创建其他查询。
1.3.1. 准备 opc 工具环境以查询 Tekton Results 复制链接链接已复制到粘贴板!
在查询 Tekton 结果前,您必须为 opc 工具准备环境。
先决条件
-
已安装
opc工具。 -
使用 OpenShift CLI (
oc)登录到 OpenShift Container Platform 集群。
流程
输入以下命令将
RESULTS_API环境变量设置为到 Tekton Results API 的路由:$ export RESULTS_API=$(oc get route tekton-results-api-service -n openshift-pipelines --no-headers -o custom-columns=":spec.host"):443输入以下命令为 Tekton Results API 创建身份验证令牌:
$ oc create token <service_account>将 <
service_account> 替换为 OpenShift Container Platform 服务帐户的名称,该帐户对 OpenShift Pipelines 运行管道运行和任务运行的命名空间具有读访问权限。保存此命令输出的字符串。
可选:创建
~/.config/tkn/results.yaml文件以使用 Tekton Results API 自动身份验证。该文件必须具有以下内容:address: <tekton_results_route>1 token: <authentication_token>2 ssl: roots_file_path: /home/example/cert.pem3 server_name_override: tekton-results-api-service.openshift-pipelines.svc.cluster.local4 service_account: namespace: service_acc_15 name: service_acc_16 - 1
- 到 Tekton Results API 的路由。使用与
RESULTS_API设置的值相同的值。 - 2
oc create token命令创建的身份验证令牌。如果您提供此令牌,它会覆盖service_account设置,并且opc使用这个令牌进行身份验证。- 3
- 带有您为 API 端点配置的 SSL 证书的文件位置。
- 4
- 如果您为 OpenShift Pipelines 配置了一个自定义目标命名空间,请将
openshift-pipelines替换为此命名空间的名称。 - 5 6
- 用于使用 Tekton Results API 进行身份验证的服务帐户名称。如果您提供了身份验证令牌,则不需要提供
service_account参数。
或者,如果您没有创建
~/.config/tkn/results.yaml文件,您可以使用-authtoken选项将令牌传递给每个opc命令。
1.3.2. 根据名称查询结果和记录 复制链接链接已复制到粘贴板!
您可以使用其名称列出和查询结果和记录。
先决条件
-
已安装
opc工具,并准备好其环境来查询 Tekton Results。 -
安装了
jq软件包。 - 如果要查询日志信息,请将日志转发配置为 LokiStack。
流程
列出与管道运行和在命名空间中创建的任务对应的结果的名称。输入以下命令:
$ opc results result list --addr ${RESULTS_API} <namespace_name>示例命令
$ opc results result list --addr ${RESULTS_API} results-testing输出示例
Name Start Update results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed 2023-06-29 02:49:53 +0530 IST 2023-06-29 02:50:05 +0530 IST results-testing/results/ad7eb937-90cc-4510-8380-defe51ad793f 2023-06-29 02:49:38 +0530 IST 2023-06-29 02:50:06 +0530 IST results-testing/results/d064ce6e-d851-4b4e-8db4-7605a23671e4 2023-06-29 02:49:45 +0530 IST 2023-06-29 02:49:56 +0530 IST输入以下命令列出结果中所有记录的名称:
$ opc results records list --addr ${RESULTS_API} <result_name>示例命令
$ opc results records list --addr ${RESULTS_API} results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed输出示例
Name Type Start Update results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/e9c736db-5665-441f-922f-7c1d65c9d621 tekton.dev/v1.TaskRun 2023-06-29 02:49:53 +0530 IST 2023-06-29 02:49:57 +0530 IST results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/5de23a76-a12b-3a72-8a6a-4f15a3110a3e results.tekton.dev/v1alpha2.Log 2023-06-29 02:49:57 +0530 IST 2023-06-29 02:49:57 +0530 IST results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/57ce92f9-9bf8-3a0a-aefb-dc20c3e2862d results.tekton.dev/v1alpha2.Log 2023-06-29 02:50:05 +0530 IST 2023-06-29 02:50:05 +0530 IST results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/e9a0c21a-f826-42ab-a9d7-a03bcefed4fd tekton.dev/v1.TaskRun 2023-06-29 02:49:57 +0530 IST 2023-06-29 02:50:05 +0530 IST results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/04e2fbf2-8653-405f-bc42-a262bcf02bed tekton.dev/v1.PipelineRun 2023-06-29 02:49:53 +0530 IST 2023-06-29 02:50:05 +0530 IST results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/e6eea2f9-ec80-388c-9982-74a018a548e4 results.tekton.dev/v1alpha2.Log 2023-06-29 02:50:05 +0530 IST 2023-06-29 02:50:05 +0530 IST输入以下命令从记录中检索管道运行或任务的 YAML 清单:
$ opc results records get --addr ${RESULTS_API} <record_name> \ | jq -r .data.value | base64 -d | \ xargs -0 python3 -c 'import sys, yaml, json; j=json.loads(sys.argv[1]); print(yaml.safe_dump(j))'示例命令
$ opc results records get --addr ${RESULTS_API} \ results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/records/e9c736db-5665-441f-922f-7c1d65c9d621 | \ jq -r .data.value | base64 -d | \ xargs -0 python3 -c 'import sys, yaml, json; j=json.loads(sys.argv[1]); print(yaml.safe_dump(j))'可选:使用日志记录名称从记录中检索任务运行的日志信息。要获取日志记录名称,请将
记录替换为记录名称中的日志。输入以下命令:$ opc results logs get --addr ${RESULTS_API} <log_record_name> | jq -r .data | base64 -d示例命令
$ opc results logs get --addr ${RESULTS_API} \ results-testing/results/04e2fbf2-8653-405f-bc42-a262bcf02bed/logs/e9c736db-5665-441f-922f-7c1d65c9d621 | \ jq -r .data | base64 -d
1.3.3. 搜索结果 复制链接链接已复制到粘贴板!
您可以使用通用表达式语言(CEL)查询来搜索结果。例如,您可以找到管道运行的结果,这些结果没有成功。但是,大多数相关信息都不包含在结果对象中;若要根据名称、完成时间和其他数据搜索,请搜索记录。
先决条件
-
已安装
opc工具,并准备好其环境来查询 Tekton Results。
流程
输入以下命令使用 CEL 查询来搜索结果:
$ opc results result list --addr ${RESULTS_API} --filter="<cel_query>" <namespace-name>
将 < ;namespace_name > 替换为管道运行或任务运行的命名空间。
| 用途 | CEL 查询 |
|---|---|
| 所有失败的结果 |
|
|
结果所有管道运行包含注解 |
|
1.3.4. 搜索记录 复制链接链接已复制到粘贴板!
您可以使用通用表达式语言(CEL)查询搜索记录。因为每个记录包含管道运行或任务运行的完整 YAML 信息,您可以根据许多不同的条件查找记录。
先决条件
-
已安装
opc工具,并准备好其环境来查询 Tekton Results。
流程
输入以下命令使用 CEL 查询搜索记录:
$ opc results records list --addr ${RESULTS_API} --filter="<cel_query>" <namespace_name>/result/-将 <
;namespace_name> 替换为管道运行或任务运行的命名空间。或者,输入以下命令搜索单个结果中的记录:$ opc results records list --addr ${RESULTS_API} --filter="<cel_query>" <result_name>将
<result_name> 替换为结果的全名。
| 用途 | CEL 查询 |
|---|---|
| 所有任务运行或管道运行的记录 |
|
|
|
|
|
所有由名为 |
|
|
所有管道运行和任务运行的记录从名为 |
|
|
所有管道运行的记录都从名为 |
|
|
所有任务的记录,其中 |
|
| 完成所有管道运行的记录时间超过五分钟 |
|
| 所有管道运行和任务运行的记录在 2023 年 10 月 7 日完成 |
|
| 所有管道运行的记录包括三个或更多任务 |
|
|
具有 |
|
|
所有管道运行的记录,其中包含 |
|
1.3.5. 搜索结果的参考信息 复制链接链接已复制到粘贴板!
您可以使用通用表达式语言(CEL)查询中的以下字段进行结果:
| CEL 字段 | 描述 |
|---|---|
|
|
创建 |
|
| 结果的唯一标识符。 |
|
|
添加到 |
|
| 结果摘要。 |
|
| 结果的创建时间。 |
|
| 结果的最后更新时间。 |
您可以使用 summary.status 字段来确定管道运行是否成功。此字段可以有以下值:
-
UNKNOWN -
SUCCESS -
失败 -
TIMEOUT (超时) -
CANCELLED
不要使用引号字符,如 " 或 ' 来为此字段提供值。
1.3.6. 搜索记录的参考信息 复制链接链接已复制到粘贴板!
您可以使用 Common Expression Language (CEL)查询记录中的以下字段:
| CEL 字段 | 描述 | 值 |
|---|---|---|
|
| 记录名称 | |
|
| 记录类型标识符 |
|
|
| 任务运行或管道运行的 YAML 数据。在日志记录中,此字段包含日志输出。 |
因为 data 字段包含任务运行或管道运行的整个 YAML 数据,所以您可以在 CEL 查询中使用此数据的所有元素。例如,data.status.completionTime 包含任务运行或管道运行的完成时间。
1.4. 根据管道运行和任务运行的名称查询结果和日志 复制链接链接已复制到粘贴板!
您可以使用 opc 命令行工具查询管道运行和任务运行列表的 Tekton Results,然后使用管道运行和任务运行的名称检索清单和日志信息。
与查询结果和记录相比,此方法需要不同的 opc 命令行工具配置。
根据管道运行和任务运行的名称查询结果和日志只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
1.4.1. 配置 opc 工具,以通过管道运行和任务运行名称查询结果 复制链接链接已复制到粘贴板!
在通过管道运行和任务运行名称查询 Tekton 结果的结果前,您必须配置 opc 工具。
先决条件
-
已安装
opc工具。 -
使用 OpenShift CLI (
oc)登录到 OpenShift Container Platform 集群。
流程
输入以下命令为 Tekton Results API 创建身份验证令牌:
$ oc create token <service_account>将 <
service_account> 替换为 OpenShift Container Platform 服务帐户的名称,该帐户对 OpenShift Pipelines 运行管道运行和任务运行的命名空间具有读访问权限。保存此命令输出的字符串。
完成以下步骤之一:
输入以下命令以互动方式配置
opc工具:$ opc results config set回复实用程序显示的提示。对于
Token,请输入您创建的身份验证令牌。输入以下命令从命令中配置
opc工具:$ opc results config set --host="https://tekton-results.example.com" --token="<token>"将主机名替换为 Tekton Results 路由的完全限定域名。将
<token> 替换为您生成的身份验证令牌。
验证
您可以输入以下命令来查看为
opc工具设置的配置:$ opc results config view输出示例
api-path: "" apiVersion: results.tekton.dev/v1alpha2 host: https://tekton-results.openshiftapps.com insecure-skip-tls-verify: "true" kind: Client token: sha256~xyz
1.4.2. 查看管道运行名称和标识符列表 复制链接链接已复制到粘贴板!
您可以使用 opc 实用程序查看在命名空间中运行的管道的名称和标识符列表。
先决条件
-
已安装
opc工具。 -
您已将
opc工具配置为通过管道运行和任务运行名称查询 Tekton Results 的结果。
流程
使用以下命令查看管道运行:
要查看指定命名空间中运行的所有管道,请输入以下命令:
$ opc results pipelinerun list -n <namespace_name>(可选)指定 the-
limit命令行选项,如--limit=10。使用这个设置时,opc 命令显示包含管道运行名称的指定行数,然后退出。如果您添加-single-page=false命令行选项,命令会显示指定的行数,然后提示您继续或退出。(可选)指定--
labels命令行选项,如--labels="app.kubernetes.io/name=test-app, app.kubernetes.io/component=database。使用这个设置时,列表只包含具有指定标签或注解的管道运行。opc results pipelinerun list命令的输出示例NAME UID STARTED DURATION STATUS openshift-pipelines-main-release-tests-zscq8 78515e3a-8e20-43e8-a064-d2442c2ae845 1 week ago 5s Failed(CouldntGetPipeline) openshift-pipelines-main-release-tests-zrgv6 14226144-2d08-440d-a600-d602ca46cdf6 1 week ago 26m13s Failed openshift-pipelines-main-release-tests-jdc24 e34daea2-66fb-4c7d-9d4b-d9d82a07b6cd 1 week ago 5s Failed(CouldntGetPipeline) openshift-pipelines-main-release-tests-6zj7f 9b3e5d68-70ab-4c23-8872-e7ad7121e60b 1 week ago 5s Failed(CouldntGetPipeline) openshift-pipelines-main-release-tests-kkk9t 2fd28c48-388b-4e6a-9ec3-2bcd9dedebc3 1 week ago 5s Failed(CouldntGetPipeline)要查看与指定管道相关的管道运行,请输入以下命令:
$ opc results pipelinerun list <pipeline_name> -n <namespace_name>命令列出包含 <
pipeline_name> 的管道的所有管道运行。例如,如果指定build,命令显示所有与名为 build、或build_123enhancedbuild的管道相关的管道运行。(可选)指定 the-
limit命令行选项,如--limit=10。使用这个设置时,opc 命令显示包含管道运行名称的指定行数,然后退出。如果您添加-single-page=false命令行选项,命令会显示指定的行数,然后提示您继续或退出。
1.4.3. 查看任务运行名称和标识符列表 复制链接链接已复制到粘贴板!
您可以使用 opc 实用程序查看在命名空间中运行的任务列表,或与管道 dun 关联的任务运行。
先决条件
-
已安装
opc工具。 -
您已将
opc工具配置为通过管道运行和任务运行名称查询 Tekton Results 的结果。
流程
要查看命名空间中运行的所有任务的列表,请输入以下命令:
$ opc results taskrun list -n <namespace_name>(可选)指定 the-
limit命令行选项,如--limit=10。使用这个设置时,opc 命令显示包含管道运行名称的指定行数,然后退出。如果您添加-single-page=false命令行选项,命令会显示指定的行数,然后提示您继续或退出。(可选)指定--
labels参数,如--labels="app.kubernetes.io/name=test-app, app.kubernetes.io/component=database。使用这个设置时,列表只包含具有指定标签或注解的任务运行。命名空间的
opc results pipelinerun list命令的输出示例NAME UID STARTED DURATION STATUS openshift-pipelines-main-release-tests-zrgv6-e2e-test 10d6952f-b926-4e4b-a976-519867969ce7 16d ago 12m41s Failed openshift-pipelines-main-release-tests-zrgv6-deploy-operator ab41b63b-16ec-4a32-8b95-f2678eb5c945 16d ago 22s Succeeded openshift-pipelines-main-release-tests-zrgv6-provision-cluster b374df00-5132-4633-91df-3259670756b3 16d ago 12m30s Succeeded operator-main-index-4-18-on-pull-request-ml4ww-show-sbom c5b77784-cd87-4be8-bc12-28957762f382 16d ago 16s Succeeded openshift-c4ae3a5a28e19ffc930e7c2aa758d85c-provision-eaas-space 22535d8e-d360-4143-9c0c-4bd0414a22b0 16d ago 17s Succeeded要查看与管道运行关联的任务运行列表,请输入以下命令:
$ opc results taskrun list --pipelinerun <pipelinerun_name> -n <namespace_name>(可选)指定 the-
limit命令行选项,如--limit=10。使用这个设置时,opc 命令显示包含管道运行名称的指定行数,然后退出。如果您添加-single-page=false命令行选项,命令会显示指定的行数,然后提示您继续或退出。
管道运行的 opc results taskrun list 命令的输出示例
+
NAME UID STARTED DURATION STATUS
operator-main-index-4-18-on-pull-request-g95fk-show-sbom 5b405941-0d3e-4f8c-a68a-9ffcc481abf1 16d ago 13s Succeeded
operator-main-index-4-18-on-pul2b222db723593a186d12f1b82f1a1fd9 89588ae7-aa36-4b62-97d1-5634ee201850 16d ago 36s Succeeded
operator-fb80434867bc15d89fea82506058f664-fbc-fips-check-oci-ta 7598d44a-4370-459b-8ef0-ae4165c58ba5 16d ago 5m52s Succeeded
operator-main-index-4-18-on-pull-request-g95fk-validate-fbc fb80d962-807b-4b63-80cb-6a57d383755a 16d ago 1m26s Succeeded
operator-main-index-4-18-on-pull-request-g95fk-apply-tags 8a34b46d-74a9-4f20-9e99-a285f7b258d6 16d ago 13s Succeeded
1.4.4. 查看管道运行的结果信息 复制链接链接已复制到粘贴板!
您可以使用 opc 实用程序查看管道运行完成的描述,以及管道运行的完整清单,以及管道运行生成的日志。
先决条件
-
已安装
opc工具。 -
您已将
opc工具配置为通过管道运行和任务运行名称查询 Tekton Results 的结果。 -
您有管道运行的名称或 UUID。您可以使用
ocp results list pipelineruns命令来查看可用结果的管道运行的名称和 UUID。
流程
使用以下命令查看管道运行的结果信息:
要查看有关管道运行完成的时间和方式的描述,请输入以下命令:
$ opc results pipelinerun describe -n <namespace_name> <pipelinerun_name>另外,您可以使用管道运行 UUID 而不是名称:
$ opc results pipelinerun describe -n <namespace_name> --uid <pipelinerun_uuid>opc results pipelinerun describe命令的输出示例Name: operator-main-index-4-18-on-pull-request-7kssl Namespace: tekton-ecosystem-tenant Service Account: appstudio-pipeline Labels: app.kubernetes.io/managed-by=pipelinesascode.tekton.dev app.kubernetes.io/version=v0.33.0 Annotations: appstudio.openshift.io/snapshot=openshift-pipelines-main-b7jj6 build.appstudio.openshift.io/repo=https://github.com/openshift-pipelines/operator?rev=ba5e62e51af0c88bc6c3fd4201e789bdfc093daa 📌 Status STARTED DURATION STATUS 27d ago 9m54s Succeeded ⏱ Timeouts Pipeline: 2h0m0s ⚓ Params NAME VALUE • git-url https://github.com/pramodbindal/operator • revision ba5e62e51af0c88bc6c3fd4201e789bdfc093daa 🗂 Workspaces NAME SUB PATH WORKSPACE BINDING • workspace --- VolumeClaimTemplate • git-auth --- Secret (secret=pac-gitauth-ceqzjt) 📦 Taskruns NAME TASK NAME • operator-main-index-4-18-on-pull-request-7kssl-init init • operator-main-index-4-18-on-pull-request-7kssl-clone-repository clone-repository
要查看管道运行的完整 YAML 清单,请输入以下命令:
$ opc results pipelinerun describe -n <namespace_name> --output yaml <pipelinerun_name>另外,您可以使用管道运行 UUID 而不是名称:
$ opc results pipelinerun describe -n <namespace_name> --output yaml --uid <pipelinerun_uuid>要查看与管道运行关联的日志,请输入以下命令:
$ opc results pipelinerun logs -n <namespace_name> <pipelinerun_name>另外,您可以使用管道运行 UUID 而不是名称:
$ opc results pipelinerun logs -n <namespace_name> --uid <pipelinerun_uuid>
opc results pipelinerun 日志显示的日志 不包括在这个管道运行中完成的任务运行的日志。要查看这些日志,请使用 opc results taskrun list --pipelinerun 命令查找在此管道运行中运行的任务名称,并指定管道运行的名称。然后,使用 opc results taskrun log 命令查看任务运行的日志。
1.4.5. 查看任务运行的结果信息 复制链接链接已复制到粘贴板!
您可以使用 opc 实用程序查看任务运行完成的描述,以及任务运行的完整清单,以及任务运行生成的日志。
先决条件
-
已安装
opc工具。 -
您已将
opc工具配置为通过管道运行和任务运行名称查询 Tekton Results 的结果。 -
您有任务运行的名称或 UUID。您可以使用
opc results taskrun list命令查看可用结果的任务运行的名称或 UUID。 - 如果要检索日志,配置了将日志转发到 LokiStack。
流程
使用以下命令查看任务运行的结果信息:
要查看有关任务运行完成的时间和方式的描述,请输入以下命令:
$ opc results taskrun describe -n <namespace_name> <taskrun_name>另外,您可以使用任务运行 UUID 而不是名称:
$ opc results taskrun describe -n <namespace_name> --uid <taskrun_uuid>opc 结果 taskrun describe命令的输出示例Name: operator-main-index-4-18-on-push-gc699-build-images-0 Namespace: tekton-ecosystem-tenant Service Account: appstudio-pipeline Labels: tekton.dev/pipelineTask=build-images tekton.dev/task=buildah-remote-oci-ta Annotations: pipelinesascode.tekton.dev/branch=main pipelinesascode.tekton.dev/check-run-id=40080193061 📌 Status STARTED DURATION STATUS 28d ago 3m22s Failed ⚓ Params NAME VALUE • PLATFORM linux-m2xlarge/arm64 • IMAGE quay.io/redhat-user-workloads/tekton-ecosystem
要查看任务运行的完整 YAML 清单,请输入以下命令:
$ opc results taskrun describe -n <namespace_name> --output yaml <taskrun_name>另外,您可以使用任务运行 UUID 而不是名称:
$ opc results taskrun describe -n <namespace_name> --output yaml --uid <taskrun_uuid>要查看与任务运行关联的日志,请输入以下命令:
$ opc results taskrun logs -n <namespace_name> <taskrun_name>另外,您可以使用任务运行 UUID 而不是名称:
$ opc results taskrun logs -n <namespace_name> --uid <taskrun_uuid>
1.4.6. 命令行参数的短名称 复制链接链接已复制到粘贴板!
当使用 opc 工具通过管道运行和任务运行名称查询 Tekton Results 的结果时,您可以将长命令行参数替换为其名称的简短版本。
| 完整参数名称 | 短参数名称 |
|---|---|
|
|
|
|
|
|
|
|
|