검색

1장. OpenShift Pipelines 관찰 기능에 Tekton 결과 사용

download PDF

Tekton Results는 모든 파이프라인 실행 및 작업 실행에 대한 전체 정보를 보관하는 서비스입니다. 필요에 따라 PipelineRunTaskRun 리소스를 정리하고 Tekton Results API 또는 opc 명령줄 유틸리티를 사용하여 YAML 매니페스트 및 로깅 정보에 액세스할 수 있습니다.

중요

Tekton 결과는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

1.1. Tekton Results 개념

Tekton Results 아카이브는 파이프라인 실행 및 작업 실행 결과 및 레코드 형태로 실행됩니다.

실행을 완료하는 모든 PipelineRunTaskRun CR(사용자 정의 리소스)에 대해 Tekton Results는 레코드를 생성합니다.

결과는 하나 또는 여러 레코드를 포함할 수 있습니다. 레코드는 항상 정확히 하나의 결과의 일부입니다.

결과적으로 파이프라인 실행에 해당하며 PipelineRun CR 자체 및 파이프라인 실행의 일부로 시작된 모든 TaskRun CR에 대한 레코드가 포함됩니다.

파이프라인 실행을 사용하지 않고 작업 실행이 직접 시작된 경우 이 작업 실행에 대한 결과가 생성됩니다. 이 결과에는 동일한 작업 실행에 대한 레코드가 포함됩니다.

각 결과에는 PipelineRun 또는 TaskRun CR이 생성된 네임스페이스와 CR의 UUID가 포함된 이름이 있습니다. 결과 이름의 형식은 < namespace_name>/results/<parent_run_uuid>입니다. 이 형식에서 < parent_run_uuid >는 파이프라인 실행 또는 직접 시작된 작업 실행의 UUUD 형식입니다.

결과 이름 예

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

Tekton Results는 파이프라인 실행 또는 작업 실행의 일부로 실행된 모든 툴의 로깅 정보가 포함된 로그 레코드도 생성합니다.

모든 결과 및 레코드에 해당 이름으로 액세스할 수 있습니다. CEL(Common Expression Language) 쿼리를 사용하여 YAML 매니페스트를 포함하여 포함된 정보로 결과 및 레코드를 검색할 수도 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.