1.2. Red Hat OpenShift Pipelines 1.16 릴리스 노트


이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.16은 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.

1.2.1. 새로운 기능

다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.16의 새로운 기능도 소개합니다.

1.2.1.1. 파이프라인

  • 이번 업데이트를 통해 파이프라인 컨트롤러에 대한 재동기화 기간을 구성할 수 있습니다. 재동기화 기간마다 컨트롤러는 이벤트에 관계없이 모든 파이프라인 실행 및 작업 실행을 조정합니다. 기본 재동기화 기간은 10시간입니다. 파이프라인 실행 및 작업 실행이 많은 경우 10시간마다 전체 조정이 너무 많은 리소스를 사용할 수 있습니다. 이 경우 더 긴 재동기화 기간을 구성할 수 있습니다.

    24시간의 재동기화 기간을 구성하는 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          deployments:
            tekton-pipelines-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-pipelines-controller
                      args:
                        - "-resync-period=24h"
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 파이프라인을 정의할 때 작업에 대한 onError 매개변수를 계속 설정할 수 있습니다. 파이프라인을 실행할 때 이 설정을 설정하고 작업이 실패하면 파이프라인에서 오류를 기록하고 다음 작업을 계속합니다. 기본적으로 파이프라인이 실패하는 경우 파이프라인이 실패합니다.

    onError 매개변수 설정 예. 작업 실패 후 다음 작업이 실행됩니다.

    apiVersion: tekton.dev/v1
    kind: Pipeline
    metadata:
      name: example-onerror-pipeline
    spec:
      tasks:
      - name: task-that-fails
        onError: continue
        taskSpec:
          steps:
          - image: alpine
            name: exit-with-1
            script: |
              exit 1
      - name: next-task
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 작업이 실패하면 finally 작업은 status 매개변수 외에 reason 매개변수에 액세스하여 오류가 허용되는지 여부를 구분할 수 있습니다. $(tasks.<task_name>. reason )을 통해 reason 매개변수에 액세스할 수 있습니다. 실패가 허용되는 경우 이유는 FailureIgnored 로 설정됩니다. 실패가 허용되지 않으면 이유는 실패로 설정됩니다 . 이 추가 정보를 사용하여 검사가 실패했는지 확인할 수 있지만 실패를 무시할 수 있습니다.
  • 이번 업데이트를 통해 기본 구성의 대안으로 사이드카 로그를 통해 더 큰 결과가 지원되므로 작업 실행당 4KB의 크기와 작업 실행당 12KB의 결과가 제한됩니다. 사이드카 로그를 사용하여 더 큰 결과를 활성화하려면 spec에서 TektonConfig CR에서 pipeline.options.configMaps.feature-flags.data.results-fromsidecar-logs 로 설정합니다.

    사이드카 로그를 사용하여 더 큰 결과 활성화 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          configMaps:
            feature-flags:
              data:
                results-from: "sidecar-logs"
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트 이전에는 PipelineRunTaskRun 리소스에서 매개변수 전파가 허용되지만 Pipeline 리소스에는 허용되지 않았습니다. 이번 업데이트를 통해 Pipeline 리소스의 params 를 인라인 파이프라인 작업 및 인라인 단계로 전달할 수 있습니다. PipelineTask 또는 StepAction 과 같은 리소스가 참조되는 경우 매개변수를 명시적으로 전달해야 합니다.

    파이프라인 내에서 매개변수 사용 예

    apiVersion: tekton.dev/v1 # or tekton.dev/v1beta1
    kind: Pipeline
    metadata:
      name: pipeline-propagated-params
    spec:
      params:
        - name: HELLO
          default: "Hello World!"
        - name: BYE
          default: "Bye World!"
      tasks:
        - name: echo-hello
          taskSpec:
            steps:
              - name: echo
                image: ubuntu
                script: |
                  #!/usr/bin/env bash
                  echo "$(params.HELLO)"
        - name: echo-bye
          taskSpec:
            steps:
              - name: echo-action
                ref:
                  name: step-action-echo
                params:
                  - name: msg
                    value: "$(params.BYE)"
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 작업 실행 또는 파이프라인 실행 정의를 사용하여 작업에서 단계 및 사이드카에 대한 컴퓨팅 리소스를 구성할 수 있습니다.

    리소스 구성 작업 예

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: side-step
    spec:
      steps:
        - name: test
          image: docker.io//alpine:latest
      sidecars:
        - name: side
          image: docker.io/linuxcontainers/alpine:latest
    # ...
    Copy to Clipboard Toggle word wrap

    리소스를 구성하는 TaskRun 정의의 예

    apiVersion: tekton.dev/v1
    kind: TaskRun
    metadata:
      name: test-sidestep
    spec:
      taskRef:
        name: side-step
      stepSpecs:
        - name: test
          computeResources:
            requests:
              memory: 1Gi
      sidecarSpecs:
        - name: side
          computeResources:
            requests:
              cpu: 100m
            limits:
              cpu: 500m
    # ...
    Copy to Clipboard Toggle word wrap

1.2.1.2. Operator

  • 이번 업데이트를 통해 OpenShift Pipelines에는 Git 리포지토리를 복제하는 단계에 대한 git-clone StepAction 정의가 포함되어 있습니다. HTTP 확인자를 사용하여 이 정의를 참조합니다. 정의의 URL은 https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yaml 입니다. StepAction 정의도 openshift-pipelines 네임스페이스에 설치됩니다. 그러나 클러스터 확인자는 StepAction 정의를 지원하지 않습니다.

    작업에서 git-clone 단계 작업 사용 예

    apiVersion: tekton.dev/v1
    kind: Task
    metadata:
      name: clone-repo-anon
    spec:
      params:
      - name: url
        description: The URL of the Git repository to clone
      workspaces:
      - name: output
        description: The git repo will be cloned onto the volume backing this Workspace.
      steps:
      - name: clone-repo-anon-step
        ref:
          resolver: http
          params:
          - name: url
            value: https://raw.githubusercontent.com/openshift-pipelines/tektoncd-catalog/p/stepactions/stepaction-git-clone/0.4.1/stepaction-git-clone.yaml
        params:
        - name: URL
          value: $(params.url)
        - name: OUTPUT_PATH
          value: $(workspaces.output.path)
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 openshift-pipelines 네임스페이스에 표준 작업과 함께 버전이 지정된 작업이 포함됩니다. 예를 들어 buildah 표준 작업과 buildah-1-16-0 버전이 있는 작업이 있습니다. 표준 작업이 후속 릴리스에서 업데이트될 수 있지만 버전 지정된 작업은 오류 수정을 제외하고 지정된 버전에 있는 것과 정확히 동일하게 유지됩니다.
  • 이번 업데이트를 통해 TektonConfig CR을 사용하여 OpenShift Pipelines의 여러 구성 요소에 대한 Webhook에 FailurePolicy,TimeoutSecondsSideEffects 옵션을 구성할 수 있습니다. 다음 예제에서는 파이프라인 구성 요소에 대한 구성을 보여줍니다. 트리거,pipelinesAsCodehub 구성 요소의 웹 후크에 유사한 구성을 사용할 수 있습니다.

    파이프라인 구성 요소에 대한 Webhook 옵션 구성 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        options:
          webhookConfigurationOptions:
            validation.webhook.pipeline.tekton.dev:
              failurePolicy: Fail
              timeoutSeconds: 20
              sideEffects: None
            webhook.pipeline.tekton.dev:
              failurePolicy: Fail
              timeoutSeconds: 20
              sideEffects: None
    # ...
    Copy to Clipboard Toggle word wrap

1.2.1.3. Trigger

  • 이번 업데이트를 통해 보안을 개선하고 보안 스캐너에 의해 플래그를 지정하지 않도록 트리거 컨트롤러, Webhook, 코어 인터셉터 및 이벤트 리스너에 대한 readOnlyRootFilesystem 매개변수가 기본적으로 true 로 설정됩니다.
  • 이번 업데이트를 통해 OpenShift Pipelines 트리거를 컨테이너 내에서 루트가 아닌 사용자로 이벤트 리스너를 실행할 수 있습니다. 이 옵션을 설정하려면 다음 예와 같이 TektonConfig CR에서 매개변수를 설정합니다.

    루트가 아닌 것으로 실행되도록 트리거 이벤트 리스너를 구성하는 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      trigger:
        options:
          disabled: false
          configMaps:
            config-defaults-triggers:
              data:
                default-run-as-non-root: "true"
                default-run-as-user: "65532"
                default-run-as-group: "65532"
                default-fs-group: "65532"
    # ...
    Copy to Clipboard Toggle word wrap

    선택적으로 default-run-as- user 및 default-run-as -group 매개변수의 값을 설정하여 컨테이너에서 이벤트 리스너를 실행하기 위한 숫자 사용자 ID 및 그룹 ID를 구성할 수 있습니다. OpenShift Pipelines는 이벤트 리스너에 대해 Pod 보안 컨텍스트 및 컨테이너 보안 컨텍스트에서 이러한 값을 설정합니다. 빈 값을 사용하는 경우 기본 사용자 ID와 65532 의 그룹 ID가 사용됩니다.

    default-fs-group 매개변수를 설정하여 컨테이너 프로세스에서 파일 시스템에 사용하는 그룹 ID인 Pod 보안 컨텍스트의 fsGroup 값을 정의할 수도 있습니다. 빈 값을 사용하는 경우 기본 그룹 ID 65532 가 사용됩니다.

  • 이번 업데이트를 통해 트리거에서 EventListener Pod 템플릿에 securityContext 설정이 포함됩니다. 이러한 설정에서 el-security-context 플래그가 true 로 설정된 경우 seccompProfile,runAsUser,runAsGroup, fsGroup 매개변수를 구성할 수 있습니다.

1.2.1.4. 웹 콘솔

  • 이번 릴리스 이전에는 웹 콘솔을 사용할 때 OpenShift Pipelines에서 생성한 로그의 타임스탬프를 표시할 수 없었습니다. 이번 업데이트를 통해 웹 콘솔에는 모든 OpenShift Pipelines 로그에 대한 타임스탬프가 포함됩니다.
  • 이번 업데이트를 통해 웹 콘솔의 파이프라인 실행 및 작업 실행 목록 페이지에 이제 k8sTektonResults API 와 같은 데이터 소스에 대한 필터가 있습니다.
  • 이번 업데이트 이전에는 개발자 화면에서 웹 콘솔을 사용할 때 파이프라인 실행에 시간 초과를 지정할 수 없었습니다. 이번 업데이트를 통해 웹 콘솔의 개발자 화면에서 파이프라인 실행을 시작하는 동안 타임아웃을 설정할 수 있습니다.
  • 이번 업데이트 이전에는 Tekton Results가 활성화된 경우에만 개요 파이프라인 대시보드가 표시되었습니다. 모든 통계는 결과 API에서만 제공됩니다. 이번 업데이트를 통해 Tekton 결과 활성화 여부에 관계없이 개요 파이프라인 대시보드를 사용할 수 있습니다. Tekton Results가 비활성화되면 대시보드를 사용하여 클러스터의 오브젝트 통계를 확인할 수 있습니다.
  • 이번 업데이트를 통해 웹 콘솔에 표시된 샘플 파이프라인에서 OpenShift Pipelines API의 v1 버전을 사용합니다.

1.2.1.5. CLI

  • 이번 업데이트를 통해 tkn customrun delete <custom_run_names > 명령을 사용하여 하나 이상의 사용자 정의 실행을 삭제할 수 있습니다.
  • 이번 업데이트를 통해 -o YAML 플래그를 사용하여 tkn <resource> list 명령을 실행하면 나열된 리소스가 --- 구분 기호로 구분되어 출력 가독성을 향상시킵니다.

1.2.1.6. 코드로서의 파이프라인

  • 이번 업데이트를 통해 이름이 같은 두 개의 PipelineRun 정의를 생성하면 Code와 Pipelines가 오류를 기록하고 이러한 파이프라인 실행 중 하나를 실행하지 않습니다.
  • 이번 업데이트를 통해 Code pipelines_as_code_pipelinerun_count 지표로 Pipeline을 사용하면 리포지토리 또는 네임스페이스별로 PipelineRun 수를 필터링할 수 있습니다.
  • 이번 업데이트를 통해 Pipeline의 readOnlyRootFilesystem 보안 컨텍스트를 코드 컨트롤러, Webhook, 감시자로 설정하여 보안을 강화하고 보안 스캐너에 플래그를 지정하지 않도록 합니다.

1.2.1.7. Tekton 체인

  • 이번 업데이트를 통해 Tekton 체인에서 docdb 스토리지를 사용할 때 TektonConfig CR에서 storage.docdb.mongo-server-url 설정으로 MONGO_SERVER_URL 값을 직접 구성할 수 있습니다. 또는 시크릿을 사용하여 이 값을 제공하고 storage.docdb.mongo-server-url-dir 설정을 MONGO_SERVER_URL 파일이 있는 디렉터리로 설정할 수 있습니다.

    MONGO_SERVER_URL 값을 사용하여 시크릿 생성 예

    $ oc create secret generic mongo-url -n tekton-chains \ #
      --from-file=MONGO_SERVER_URL=/home/user/MONGO_SERVER_URL
    Copy to Clipboard Toggle word wrap

    시크릿을 사용하여 MONGO_SERVER_URL 값을 구성하는 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        storage.docdb.mongo-server-url-dir: /tmp/mongo-url
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-chains-controller
                      volumeMounts:
                      - mountPath: /tmp/mongo-url
                        name: mongo-url
                    volumes:
                    -  name: mongo-url
                       secret:
                        secretName: mongo-url
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 구성에서 KMS 인증 토큰 값을 직접 제공하는 대신 Tekton 체인에서 KMS 서명을 사용할 때 signers.kms.auth.token-path 설정을 사용하여 토큰 값을 시크릿으로 제공할 수 있습니다.

    KMS 토큰 보안을 생성하려면 다음 명령을 입력합니다.

    $ oc create secret generic <secret_name> -n tekton-chains \
      --from-file=KMS_AUTH_TOKEN=/home/user/KMS_AUTH_TOKEN 
    1
    Copy to Clipboard Toggle word wrap
    1
    &lt ;secret_name&gt;을 임의의 이름으로 바꿉니다. 다음 예제에서는 kms-secrets 라는 KMS 시크릿을 사용합니다.

    kms-secrets라는 시크릿을 사용하여 KMS 토큰 값 구성 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        signers.kms.auth.token-path: /etc/kms-secrets/KMS_AUTH_TOKEN
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - name: tekton-chains-controller
                      volumeMounts:
                      - mountPath: /etc/kms-secrets
                        name: kms-secrets
                    volumes:
                    -  name: kms-secrets
                       secret:
                        secretName: kms-secrets
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 Tekton 체인 컨트롤러의 인수로 네임스페이스 목록을 구성할 수 있습니다. 이 목록을 제공하면 Tekton Chains에서 파이프라인 실행을 감시하고 지정된 네임스페이스에서만 작업이 실행됩니다. 이 목록을 제공하지 않으면 Tekton Chains에서 파이프라인 실행을 감시하고 모든 네임스페이스에서 작업 실행을 감시합니다.

    devtest 네임스페이스만 감시하는 구성의 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      chain:
        disabled: false
        options:
          deployments:
            tekton-chains-controller:
              spec:
                template:
                  spec:
                    containers:
                    - args:
                      - --namespace=dev, test
                      name: tekton-chains-controller
    # ...
    Copy to Clipboard Toggle word wrap

1.2.1.8. Tekton 결과

  • 이번 업데이트 이전에는 Tekton Results에서 v1beta1 API 형식을 사용하여 TaskRunPipelineRun 오브젝트 레코드를 저장했습니다. 이번 업데이트를 통해 Tekton Results는 v1 API 형식을 사용하여 TaskRunPipelineRun 오브젝트 레코드를 저장합니다.
  • 이번 업데이트를 통해 Tekton Results는 기존 레코드를 v1 API 형식으로 자동으로 변환할 수 있습니다. 이러한 변환을 활성화하려면 다음 예와 같이 TektonResult CR에서 매개변수를 설정합니다.

    기존 레코드를 v1 API 형식으로 변환하도록 Tekton Results 구성 예

      apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
        deployments:
          tekton-results-api:
            spec:
              template:
                spec:
                  containers:
                    - name: api
                      env:
                        - name: CONVERTER_ENABLE
                          value: "true"
                        - name: CONVERTER_DB_LIMIT
                          value: "256" 
    1
    
    # ...
    Copy to Clipboard Toggle word wrap

    1
    CONVERTER_DB_LIMIT 변수에서 단일 트랜잭션에서 동시에 변환할 레코드 수를 설정합니다.
  • 이번 업데이트를 통해 Tekton Results는 이제 타사 로깅 API에서 전달된 로그 가져오기를 지원합니다. logs_apitrue 로 설정하고 logs_typeLoki 로 설정하여 TektonResult CR을 통해 로깅 API를 활성화할 수 있습니다.
  • 이번 업데이트를 통해 Tekton Results 데이터베이스 자동 정리를 구성할 수 있습니다. 레코드를 저장해야 하는 일 수를 지정할 수 있습니다. 이전 레코드를 제거하는 pruner 작업 실행 일정을 지정할 수도 있습니다. 이러한 매개변수를 설정하려면 다음 예와 같이 TektonResult CR을 편집합니다.

    Tekton Results 데이터베이스 자동 정리 구성 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
        configMaps:
          config-results-retention-policy:
            data:
              runAt: "3 5 * * 0" 
    1
    
              maxRetention: "30" 
    2
    
    # ...
    Copy to Clipboard Toggle word wrap

    1
    데이터베이스에서 정리 작업을 실행할 때 cron 형식으로 지정합니다. 이 예제에서는 매주 일요일 오전 5:03에 작업을 실행합니다.
    2
    데이터를 데이터베이스에 저장할 일 수를 지정합니다. 이 예에서는 30일 동안 데이터를 유지합니다.
  • 이번 업데이트를 통해 파이프라인 및 작업에 대한 이벤트 로그를 저장하도록 Tekton Results를 구성할 수 있습니다. 이벤트 로그의 스토리지를 활성화하려면 다음 예와 같이 TektonResult CR을 편집합니다.

    Tekton Results 데이터베이스 자동 정리 구성 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
         deployments:
            tekton-results-watcher:
              spec:
                template:
                  spec:
                    containers:
                      - name: watcher
                        args:
                          - "--store_event=true"
    # ...
    Copy to Clipboard Toggle word wrap

  • 이번 업데이트를 통해 OpenShift Container Platform Cluster Log Forwarder를 사용하여 모든 로그 데이터를 스토리지 볼륨에 직접 배치하는 대신 LokiStack 인스턴스에 저장하도록 Tekton Results를 구성할 수 있습니다. 이 옵션을 사용하면 더 높은 파이프라인 실행 및 작업 실행 속도로 확장할 수 있습니다.

    OpenShift Container Platform Cluster Log Forwarder를 사용하여 LokiStack 인스턴스에 모든 로그 데이터를 저장하도록 Tekton Results를 구성하려면 Loki Operator를 사용하여 LokiStack을 클러스터에 배포하고 OpenShift Logging Operator도 설치해야 합니다. 그런 다음 다음 YAML 매니페스트 중 하나를 사용하여 openshift-logging 네임스페이스에 ClusterLogForwarder CR을 생성해야 합니다.

    OpenShift Logging 버전 6을 설치한 경우 ClusterLogForwarder CR의 YAML 매니페스트

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
    spec:
      inputs:
      - application:
          selector:
            matchLabels:
              app.kubernetes.io/managed-by: tekton-pipelines
        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
    # ...
    Copy to Clipboard Toggle word wrap

    OpenShift Logging 버전 5를 설치한 경우 ClusterLogForwarder CR의 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 ]
    # ...
    Copy to Clipboard Toggle word wrap

    마지막으로 openshift-pipelines 네임스페이스의 TektonResult CR에서 다음과 같은 추가 매개변수를 설정합니다.

    • loki_stack_name: LokiStack CR의 이름, 일반적으로 logging-loki.
    • loki_stack_namespace: LokiStack이 배포된 네임스페이스의 이름입니다(일반적으로 openshift-logging ).

    TektonResult CR에서 LokiStack 로그 전달을 구성하는 예

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonResult
    metadata:
      name: result
    spec:
      targetNamespace: tekton-pipelines
    # ...
      loki_stack_name: logging-loki
      loki_stack_namespace: openshift-logging
    # ...
    Copy to Clipboard Toggle word wrap

1.2.2. 변경 사항 중단

  • 이번 업데이트를 통해 수신 이벤트를 eventlistener_event_count 에서 eventlistener_event_received_count로 계산하는 Pipeline 트리거의 EventListener 오브젝트의 지표 이름이 eventlistener_event_received_count 로 변경됩니다.
  • 이번 업데이트 이전에는 API 버전에 다음과 같은 잘못된 방법 중 하나를 사용하여 파이프라인 실행에 podTemplate 매개변수를 지정한 경우 Pipeline을 코드로 실행할 때 파이프라인 실행이 올바르게 실행됩니다.

    • v1beta1 API의 경우 taskRunTemplate.podTemplate 사양에서
    • v1 API의 경우 podTemplate 사양에서

      이번 업데이트를 통해 파이프라인 실행에 잘못된 사양이 포함된 경우 podTemplate 매개변수가 무시됩니다.

      이 문제를 방지하려면 다음 예제 중 하나와 같이 사용 중인 API 버전에 대해 Pod 템플릿을 올바르게 정의합니다.

      v1 API에 Pod 템플릿을 지정하는 예

      apiVersion: tekton.dev/v1
      kind: PipelineRun
      metadata:
        name: pr-v1
      spec:
        pipelineSpec:
          tasks:
            - name: noop-task
              taskSpec:
                steps:
                  - name: noop-task
                    image: registry.access.redhat.com/ubi9/ubi-micro
                    script: |
                      exit 0
        taskRunTemplate:
          podTemplate:
            securityContext:
              runAsNonRoot: true
              runAsUser: 1001
      Copy to Clipboard Toggle word wrap

      v1beta1 API에 Pod 템플릿을 지정하는 예

      apiVersion: tekton.dev/v1beta1
      kind: PipelineRun
      metadata:
        name: pr-v1beta1
      spec:
        pipelineSpec:
          tasks:
            - name: noop-task
              taskSpec:
                steps:
                  - name: noop-task
                    image: registry.access.redhat.com/ubi9/ubi-micro
                    script: |
                      exit 0
        podTemplate:
          securityContext:
            runAsNonRoot: true
            runAsUser: 1001
      Copy to Clipboard Toggle word wrap

1.2.3. 확인된 문제

  • OpenShift Container Platform 버전 4.16 이상을 사용하는 경우 jib-maven ClusterTask 가 작동하지 않습니다.

1.2.4. 해결된 문제

  • 이번 업데이트 이전에는 TektonHub CR을 삭제하여 Tekton Hub 를 제거하면 hub-db-migration 작업의 Pod가 삭제되지 않았습니다. 이번 업데이트를 통해 Tekton Hub를 설치 제거하면 Pod가 삭제됩니다.
  • 이번 업데이트 이전에는 Tekton Results를 사용하여 파이프라인 및 작업의 Pod 로그를 저장할 때 로그를 저장하는 작업이 실패하는 경우가 있었습니다. 로그에 취소된 컨텍스트 오류와 함께 실패하는 UpdateLog 작업이 포함됩니다. 이번 업데이트를 통해 작업이 올바르게 완료됩니다.
  • 이번 업데이트 이전에는 매개변수 값을 파이프라인 또는 작업에 전달하고 값이 전체 및 짧은 참조 형식(예: $(tasks.task-name.results.variable1) + $(variable2) 과 함께 두 개 이상의 변수를 포함하면 OpenShift Pipelines에서 값을 올바르게 해석하지 않았습니다. 파이프라인 실행 또는 작업 실행이 실행을 중지하고 Pipelines 컨트롤러가 충돌할 수 있습니다. 이번 업데이트를 통해 OpenShift Pipelines는 값을 올바르게 해석하고 파이프라인 실행 또는 작업 실행이 완료됩니다.
  • 이번 업데이트 이전에는 작업 실행에 동일한 이름의 여러 작업이 포함된 경우 Tekton Chains에서 올바른 인증 정보를 생성하지 못했습니다. 예를 들어, 작업 매트릭스를 사용할 때 첫 번째 이미지에 대한 인증 정보가 생성되었습니다. 이번 업데이트를 통해 Tekton Chains는 작업 실행 내의 모든 작업에 대한 인증을 생성하여 완전한 적용 범위를 보장합니다.
  • 이번 업데이트 이전에는 OpenShift Pipelines 설치 네임스페이스에 정의된 skopeo-copy 작업을 사용하고 VERBOSE 매개변수를 false 로 설정하면 작업이 실패했습니다. 이번 업데이트를 통해 작업이 정상적으로 완료됩니다.
  • 이번 업데이트 이전에는 Pipelines를 코드로 사용할 때 openshift-pipelines 또는 pipelines-as-code 네임스페이스에서 pipelines-as-code 라는 global Repository CR에 concurrency_limit 사양을 설정하면 모든 Repository CR에 대한 기본 설정을 제공합니다. 이번 업데이트를 통해 코드 감시기가 이 설정으로 올바르게 작동합니다.
  • 이번 업데이트 이전에는 OpenShift Pipelines의 모든 작업에 이전 버전의 OpenShift Pipelines에서 사용 가능한 동일한 이름의 클러스터 작업과 비교하여 추가 단계가 포함되었습니다. 이 추가 단계에서 클러스터의 로드가 증가했습니다. 이번 업데이트를 통해 첫 번째 단계에 통합되므로 작업에는 추가 단계가 포함되지 않습니다.
  • 이번 업데이트 이전에는 OpenShift Pipelines 설치 네임스페이스에 정의된 s2i-* 작업 중 하나를 사용하고 CONTEXT 매개변수를 설정하면 작업에서 매개변수를 올바르게 해석하지 못하고 작업이 실패했습니다. 이번 업데이트를 통해 작업은 CONTEXT 매개변수를 올바르게 해석하고 성공적으로 완료됩니다.
  • 이번 업데이트 이전에는 Tekton 체인에서 In-to provenance 메타데이터, URIDigest 값이 불완전했습니다. 이 값에는 원격 PipelineTask 리소스의 정보만 포함되었지만 원격 StepAction 리소스의 정보가 누락되었습니다. 이번 업데이트를 통해 작업 실행 상태에 원격 StepAction 리소스의 출처가 기록되고 인토피스(in-to provenance)에 삽입되어 완전한 제공 메타데이터가 생성됩니다.
  • 이번 업데이트 이전에는 리소스가 생성된 후 수정할 수 없는 PipelineRunTaskRun 리소스의 spec 필드에 있는 일부 매개변수를 수정할 수 있었습니다. 이번 업데이트를 통해 파이프라인 실행 및 작업 실행이 생성된 후 status 및 status Message 필드와 같이 허용된 필드만 수정할 수 있습니다.
  • 이번 업데이트 이전에는 단계 작업 매개 변수가 배열 유형이지만 문자열 값이 작업에 전달되었지만 일관성 없는 매개 변수 유형을 나타내는 오류가 없는 경우 대신 기본 매개변수 값이 사용되었습니다. 이번 업데이트를 통해 일치하지 않는 값을 나타내기 위해 오류가 추가되어 잘못된 매개변수 대체: %s가 표시됩니다. 기본값 및 전달된 값 의 유형을 확인하십시오.
  • 이번 업데이트 이전에는 로그가 감시자를 통해 스트리밍될 때 외부 정리기에 의해 작업 실행 및 파이프라인 실행이 삭제되었습니다. 이번 업데이트를 통해 TaskRunPipelineRun 오브젝트에 대한 Tekton Results에 종료자가 추가되어 실행이 저장되고 삭제되지 않습니다. 실행은 레코드 또는 데드라인이 전달될 때까지 저장되며 완료 시간 및 store_deadline 시간으로 계산됩니다. 감시자 또는 pruner의 레거시 로그 스트리밍이 활성화된 경우 종료자가 삭제되지 않습니다.
  • 이번 업데이트 이전에는 웹 콘솔에서 Tekton Results에 저장된 TaskRunPipelineRun 오브젝트 레코드를 표시하도록 v1beta1 API 형식을 지원했습니다. 이번 업데이트를 통해 콘솔은 v1 API 형식을 지원하여 Tekton Results에 저장된 TaskRunPipelineRun 오브젝트 레코드를 표시합니다.
  • 이번 업데이트 이전에는 Code로 Pipeline을 사용할 때 다른 PipelineRun 정의에서 동일한 작업 이름을 사용하지만 예를 들어 Tekton Hub에서 작업을 가져올 때 코드와 동일한 작업 버전을 사용하므로 잘못된 버전이 트리거되는 경우가 있었습니다. 이번 업데이트를 통해 Code로 Pipeline이 참조된 작업의 올바른 버전을 트리거합니다.
  • 이번 업데이트 이전에는 해결자를 사용하여 원격 파이프라인 또는 작업을 참조할 때 일시적인 통신 오류로 인해 해당 원격 참조를 즉시 검색하지 못했습니다. 이번 업데이트를 통해 확인자는 검색을 다시 큐에 추가하고 결국 검색을 다시 시도합니다.
  • 이번 업데이트 이전에는 파이프라인 실행 및 작업 실행에 대한 로그 정보를 저장할 때 Tekton Results에서 점점 더 많은 양의 메모리를 사용할 수 있었습니다. 이번 업데이트에서는 메모리 누수를 수정하고 Tekton 결과는 정상적인 양의 메모리를 사용합니다.
  • 이번 업데이트 이전에는 Pipeline을 코드로 사용할 때 .tekton 디렉터리에 이벤트에서 트리거된 PipelineRun 정의에서 참조하지 않은 파이프라인이 포함된 경우 Code는 실행되지 않은 경우에도 해당 파이프라인에 필요한 모든 작업을 가져오려고 했습니다. 이번 업데이트를 통해 Code로서의 Pipeline은 현재 이벤트에서 트리거한 파이프라인 실행에서 참조되지 않는 파이프라인을 해결하려고 시도하지 않습니다.

1.2.5. Red Hat OpenShift Pipelines General Availability 1.16.1 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.16.1은 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.

1.2.5.1. 해결된 문제

  • 이번 업데이트 이전에는 웹 콘솔의 파이프라인 개요 페이지에서 모든 네임스페이스에 액세스할 수 없는 사용자가 프로젝트 목록에서 All 을 선택할 수 있었습니다. 일부 네임스페이스의 통계를 사용할 수 없기 때문에 콘솔에 해당 선택에 대한 잘못된 정보가 표시되었습니다. 이번 업데이트를 통해 모든 네임스페이스에 액세스할 수 없는 사용자는 프로젝트 목록에서 모두 선택할 수 없습니다.
  • 이번 업데이트 이전에는 웹 콘솔을 사용하여 유형 배열 의 매개변수를 정의한 파이프라인 또는 작업을 시작하려고 하면 이 매개변수의 값을 입력하면 오류가 발생하고 파이프라인 또는 작업을 시작할 수 없었습니다. 이번 업데이트를 통해 웹 콘솔을 사용하여 배열 의 매개변수를 정의하는 파이프라인 또는 작업을 시작하고 이 매개변수의 값을 입력하면 정상적으로 작동할 수 있습니다.
  • 이번 업데이트 이전에는 Bitbucket Git 리포지토리와 함께 Pipeline을 코드로 사용할 때 코드 컨트롤러로 Pipeline이 충돌하는 경우가 있었습니다. 런타임 오류: 잘못된 메모리 주소 또는 nil 포인터 역참조 메시지가 기록되었습니다. 이번 업데이트를 통해 코드 컨트롤러로서의 Pipeline이 충돌하지 않습니다.
  • 이번 업데이트 이전에는 Tekton Results를 사용할 때 tekton-results-watcher Pod가 충돌했을 수 있으며 panic: 런타임 오류: 잘못된 메모리 주소 또는 nil 포인터 역참조 메시지가 기록되었습니다. 이번 업데이트를 통해 tekton-results-watcher Pod가 충돌하지 않습니다.
  • 이번 업데이트 이전에는 Tekton Results를 사용할 때 웹 콘솔에서 인증 토큰을 Tekton Results API에 전달하지 못했기 때문에 웹 콘솔에서 Tekton Results에서 정보를 볼 수 없었습니다. 이번 업데이트를 통해 인증이 활성화되면 웹 콘솔에서 Tekton 결과에서 정보를 볼 수 있습니다.
  • 이번 업데이트 이전에는 웹 콘솔에서 Tekton 결과 정보를 볼 때 페이지 종료까지 아래로 스크롤하면 콘솔에서 다음 레코드 세트를 가져오지 못하고 일부 정보가 표시되지 않았습니다. 이번 업데이트를 통해 페이지 종료까지 스크롤하면 Tekton Results의 레코드가 올바르게 로드되고 웹 콘솔에 모든 정보가 올바르게 표시됩니다.

1.2.6. Red Hat OpenShift Pipelines General Availability 1.16.2 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.16.2는 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.

1.2.6.1. 해결된 문제

  • 이번 업데이트 이전에는 PipelineRun 오브젝트를 패치하고 파이프라인 실행에서 첫 번째 작업 실행이 완료되면 spec.status 매개변수를 Cancelled으로 설정하여 OpenShift Pipelines 1.16에서 파이프라인 실행을 취소 할 수 없었습니다. 대신 오류 메시지가 기록되었습니다: PipelineRun이 취소되었지만 TaskRuns 및/또는 실행을 취소하려고 하는 동안 오류가 발생했습니다. 이번 업데이트를 통해 파이프라인 실행이 성공적으로 취소됩니다.

1.2.7. Red Hat OpenShift Pipelines General Availability 1.16.3 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.16.3은 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.

1.2.7.1. 해결된 문제

  • 이번 업데이트 이전에는 Tekton 체인 컨트롤러가 반복적으로 충돌하여 Tekton 체인 구성 요소를 사용할 수 없게 만드는 경우도 있습니다. 이번 업데이트를 통해 컨트롤러가 더 이상 충돌하지 않습니다.
  • 이번 업데이트 이전에는 일반 매개변수와 매트릭스 매개변수를 모두 포함하는 매트릭스 작업을 정의한 경우 tekton-pipelines-controller 구성 요소가 충돌하여 세그먼트 오류 메시지를 기록했습니다. 작업이 제거되지 않은 경우 구성 요소가 중단되고 파이프라인을 실행하지 않았습니다. 이번 업데이트를 통해 이러한 경우 컨트롤러가 더 이상 충돌하지 않습니다.

1.2.8. Red Hat OpenShift Pipelines General Availability 1.16.4 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.16.4는 OpenShift Container Platform 4.12, 4.14, 4.15, 4.16, 4.17 및 4.18 버전에서 사용할 수 있습니다.

1.2.9. 확인된 문제

  • Pipeline 컨트롤러에서 더 이상 taskrunpipelinerun UID 레이블을 Pod에 추가하지 않습니다. 결과적으로 결과를 통해 로그를 가져오지 못합니다. 또한 이러한 라벨에 의존하는 모든 작업 또는 작업이 실패하거나 예기치 않게 작동할 수 있습니다.

1.2.9.1. 해결된 문제

  • 이번 업데이트 이전에는 openshift-pipelines 네임스페이스에 제공된 buildah 작업을 사용하고 dockerconfig 작업 영역을 통해 인증 정보 시크릿을 제공한 경우 작업이 권한 거부 오류로 실패했습니다. 이 오류는 볼륨으로 전달된 디렉터리에 기본 ReadWrite 권한이 할당되고 권한 시크릿이 읽기 전용 으로 마운트되었기 때문에 발생했습니다. 이러한 불일치로 인해 작업이 실패했습니다. 이번 업데이트를 통해 buildah 작업에서는 권한 문제가 발생하지 않고 인타이틀먼트 사용 사례를 지원합니다.
  • 이번 업데이트 이전에는 openshift-pipelines 네임스페이스에 제공된 git-clone 작업에서 연결이 끊긴 클러스터에서 실패한 오래된 이미지를 사용했습니다. 이번 업데이트를 통해 git-clone 작업의 최신 이미지는 연결이 끊긴 환경에서 작업을 지원합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat