1.8. Red Hat OpenShift Pipelines General Availability 1.8 릴리스 정보


이번 업데이트를 통해 OpenShift Container Platform 4.10, 4.11 및 4.12에서 Red Hat OpenShift Pipelines General Availability (GA) 1.8을 사용할 수 있습니다.

1.8.1. 새로운 기능

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

1.8.1.1. 파이프라인

  • 이번 업데이트를 통해 ARM 하드웨어에서 실행 중인 OpenShift Container Platform 클러스터에서 Red Hat OpenShift Pipelines GA 1.8 이상을 실행할 수 있습니다. 여기에는 ClusterTask 리소스 및 tkn CLI 툴 지원이 포함됩니다.
중요

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

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

  • 이번 업데이트에서는 TaskRun 리소스에 대한 단계 및 사이드카 덮어쓰기를 구현합니다.
  • 이번 업데이트에서는 PipelineRun 상태 내에 최소 TaskRunRun 상태가 추가되었습니다.

    이 기능을 활성화하려면 pipeline 섹션의 TektonConfig 사용자 지정 리소스 정의에서 enable-api-fields 필드를 alpha 로 설정해야 합니다.

  • 이번 업데이트를 통해 파이프라인 실행 기능의 정상 종료 기능이 알파 기능에서 안정적인 기능으로 승격됩니다. 결과적으로 이전에 더 이상 사용되지 않는 PipelineRunCancelled 상태는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.

    이 기능은 기본적으로 사용할 수 있으므로 TektonConfig 사용자 정의 리소스 정의에서 더 이상 pipeline.enable-api-fields 필드를 alpha 로 설정할 필요가 없습니다.

  • 이번 업데이트를 통해 작업 공간 이름을 사용하여 파이프라인 작업의 작업 공간을 지정할 수 있습니다. 이러한 변경으로 한 쌍의 PipelinePipelineTask 리소스에 대한 공유 작업 공간을 더 쉽게 지정할 수 있습니다. 작업 공간을 명시적으로 계속 매핑할 수도 있습니다.

    이 기능을 활성화하려면 pipeline 섹션의 TektonConfig 사용자 지정 리소스 정의에서 enable-api-fields 필드를 alpha 로 설정해야 합니다.

  • 이번 업데이트를 통해 포함된 사양의 매개변수가 변경 없이 전파됩니다.
  • 이번 업데이트를 통해 주석 및 라벨을 사용하여 PipelineRun 리소스에서 참조하는 Task 리소스의 필수 메타데이터를 지정할 수 있습니다. 이렇게 하면 파이프라인 실행 중에 실행 컨텍스트에 따라 달라지는 Task 메타데이터를 사용할 수 있습니다.
  • 이번 업데이트에서는 paramsresults 값의 오브젝트 또는 사전 유형 지원이 추가되었습니다. 이 변경 사항은 이전 버전과의 호환성에 영향을 미치며 향후 Red Hat OpenShift Pipelines 버전에서 이전 클라이언트를 사용하는 등 이전 버전과의 호환성이 중단되는 경우가 있습니다. 이번 업데이트에서는 Go 언어 API를 라이브러리로 사용하는 프로젝트에 영향을 주는 ArrayOrStruct 구조를 변경합니다.
  • 이번 업데이트에서는 PipelineRun 상태 필드의 SkippedTasks 필드에 SkippingReason 값이 추가되어 사용자가 지정된 PipelineTask를 건너뛰는 이유를 알 수 있습니다.
  • 이번 업데이트에서는 Task 오브젝트에서 결과를 발송하는 데 배열 유형을 사용할 수 있는 alpha 기능을 지원합니다. 결과 유형이 문자열 에서 ArrayOrString 으로 변경됩니다. 예를 들어, 작업은 배열 결과를 생성할 유형을 지정할 수 있습니다.

    kind: Task
    apiVersion: tekton.dev/v1beta1
    metadata:
      name: write-array
      annotations:
        description: |
          A simple task that writes array
    spec:
      results:
        - name: array-results
          type: array
          description: The array results
    ...

    또한 작업 스크립트를 실행하여 결과를 배열로 채울 수 있습니다.

    $ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)

    이 기능을 활성화하려면 pipeline 섹션의 TektonConfig 사용자 지정 리소스 정의에서 enable-api-fields 필드를 alpha 로 설정해야 합니다.

    이 기능은 진행 중이며 TEP-0076의 일부입니다.

1.8.1.2. Trigger

  • 이번 업데이트에서는 EventListener 사양의 TriggerGroups 필드를 알파 기능에서 stable 기능으로 전환합니다. 이 필드를 사용하여 트리거 그룹을 선택하고 실행하기 전에 인터셉터 세트를 지정할 수 있습니다.

    이 기능은 기본적으로 사용할 수 있으므로 TektonConfig 사용자 정의 리소스 정의에서 더 이상 pipeline.enable-api-fields 필드를 alpha 로 설정할 필요가 없습니다.

  • 이번 업데이트를 통해 Trigger 리소스는 HTTPS를 사용하여 ClusterInterceptor 서버를 실행하여 엔드 투 엔드 보안 연결을 지원합니다.

1.8.1.3. CLI

  • 이번 업데이트를 통해 tkn taskrun export 명령을 사용하여 클러스터에서 YAML 파일로 라이브 작업 실행을 내보낼 수 있습니다. 이 명령을 사용하여 작업 실행을 다른 클러스터로 가져올 수 있습니다.
  • 이번 업데이트를 통해 tkn pipeline start 명령에 -o name 플래그를 추가하여 시작 직후 파이프라인 실행 이름을 출력할 수 있습니다.
  • 이번 업데이트에서는 tkn --help 명령의 출력에 사용 가능한 플러그인 목록이 추가되었습니다.
  • 이번 업데이트를 통해 파이프라인 실행 또는 작업 실행을 삭제하는 동안 --keep--keep-since 플래그를 함께 사용할 수 있습니다.
  • 이번 업데이트를 통해 더 이상 사용되지 않는 PipelineRunCancelled 값이 아닌 spec.status 필드의 값으로 Cancelled 을 사용할 수 있습니다.

1.8.1.4. Operator

  • 이번 업데이트를 통해 관리자는 기본 데이터베이스가 아닌 사용자 정의 데이터베이스를 사용하도록 로컬 Tekton Hub 인스턴스를 구성할 수 있습니다.
  • 이번 업데이트를 통해 클러스터 관리자는 로컬 Tekton Hub 인스턴스를 활성화하면 Tekton Hub 웹 콘솔에 변경 사항이 표시되도록 정기적으로 데이터베이스를 새로 고칩니다. 새로 고침 간격은 조정할 수 있습니다.

    이전에는 카탈로그의 작업 및 파이프라인을 데이터베이스에 추가하려면 해당 작업을 수동으로 수행하거나 이를 수행하도록 cron 작업을 설정했습니다.

  • 이번 업데이트를 통해 최소 구성으로 Tekton Hub 인스턴스를 설치하고 실행할 수 있습니다. 이렇게 하면 팀과 협력하여 원하는 추가 사용자 지정을 결정할 수 있습니다.
  • 이번 업데이트에서는 보안 리포지토리를 복제할 수 있도록 GIT_SSL_CAINFOgit-clone 작업에 추가합니다.

1.8.1.5. Tekton 체인

중요

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

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

  • 이번 업데이트를 통해 정적 토큰이 아닌 OIDC를 사용하여 자격 증명 모음에 로그인할 수 있습니다. 이 변경으로 Spire는 OIDC 인증 정보를 생성할 수 있으므로 신뢰할 수 있는 워크로드만 자격 증명 모음에 로그인할 수 있습니다. 또한 자격 증명 모음 주소를 환경 변수로 삽입하지 않고 구성 값으로 전달할 수 있습니다.
  • openshift -pipelines 네임스페이스의 Tekton 체인용 chain-config 구성 맵은 Red Hat OpenShift Pipelines Operator를 사용하여 구성 맵을 직접 업데이트할 때 지원되지 않기 때문에 Red Hat OpenShift Pipelines Operator를 업그레이드한 후 기본값으로 자동 재설정됩니다. 그러나 이번 업데이트를 통해 Tekton Cryostat 사용자 정의 리소스를 사용하여 Tekton Chain 을 구성할 수 있습니다. 이 기능을 사용하면 업그레이드 중에 덮어쓰는 chain-config 구성 맵과 달리 업그레이드 후에도 구성이 유지될 수 있습니다.

1.8.1.6. Tekton Hub

중요

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

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

  • 이번 업데이트를 통해 Operator를 사용하여 Tekton Hub의 새 인스턴스를 설치하면 Tekton Hub 로그인이 기본적으로 비활성화됩니다. 로그인 및 등급 기능을 활성화하려면 Tekton Hub를 설치하는 동안 Hub API 시크릿을 생성해야 합니다.

    참고

    Tekton Hub 로그인은 Red Hat OpenShift Pipelines 1.7에서 기본적으로 활성화되었으므로 Operator를 업그레이드하는 경우 Red Hat OpenShift Pipelines 1.8에서 기본적으로 로그인이 활성화됩니다. 이 로그인을 비활성화하려면 OpenShift Pipelines 1.7.x - 1.8.x에서 업그레이드한 후 Tekton Hub 로그인 비활성화를 참조하십시오.

  • 이번 업데이트를 통해 관리자는 기본 데이터베이스가 아닌 사용자 정의 PostgreSQL 13 데이터베이스를 사용하도록 로컬 Tekton Hub 인스턴스를 구성할 수 있습니다. 이렇게 하려면 tekton-hub-db 라는 Secret 리소스를 생성합니다. 예를 들면 다음과 같습니다.

    apiVersion: v1
    kind: Secret
    metadata:
      name: tekton-hub-db
      labels:
        app: tekton-hub-db
    type: Opaque
    stringData:
      POSTGRES_HOST: <hostname>
      POSTGRES_DB: <database_name>
      POSTGRES_USER: <username>
      POSTGRES_PASSWORD: <password>
      POSTGRES_PORT: <listening_port_number>
  • 이번 업데이트를 통해 더 이상 Tekton Hub 웹 콘솔에 로그인하여 카탈로그의 리소스를 데이터베이스에 추가할 필요가 없습니다. 이제 Tekton Hub API가 처음으로 실행을 시작하면 이러한 리소스가 자동으로 추가됩니다.
  • 이번 업데이트에서는 카탈로그 새로 고침 API 작업을 호출하여 30분마다 카탈로그를 자동으로 새로 고칩니다. 이 간격은 user-configurable입니다.

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

중요

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

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

  • 이번 업데이트를 통해 개발자는 코드 실행으로 파이프라인에 중복 리포지토리를 추가하려고 하는 경우 tkn-pac CLI 툴에서 알림을 받습니다. tkn pac create repository 를 입력하면 각 리포지토리에 고유한 URL이 있어야 합니다. 이 알림은 또한 하이재킹 취약점을 방지하는 데 도움이 됩니다.
  • 이번 업데이트를 통해 개발자는 새로운 tkn-pac setup cli 명령을 사용하여 Webhook 메커니즘을 사용하여 Git 리포지토리를 코드로 Pipeline에 추가할 수 있습니다. 이렇게 하면 GitHub 앱을 사용할 수 없는 경우에도 Pipeline을 코드로 사용할 수 있습니다. 이 기능에는 GitHub, GitLab, BitBucket의 리포지토리가 지원됩니다.
  • 이번 업데이트를 통해 Pipeline은 다음과 같은 기능과 GitLab 통합을 지원합니다.

    • 프로젝트 또는 그룹의 ACL(액세스 제어 목록)
    • 허용된 사용자의 /OK-to-test 지원
    • /retest 지원.
  • 이번 업데이트를 통해 CEL(Common Expression Language)을 사용하여 고급 파이프라인 필터링을 수행할 수 있습니다. CEL을 사용하면 PipelineRun 리소스의 주석을 사용하여 다른 Git 공급자 이벤트와 파이프라인 실행을 일치시킬 수 있습니다. 예를 들면 다음과 같습니다.

      ...
      annotations:
         pipelinesascode.tekton.dev/on-cel-expression: |
          event == "pull_request" && target_branch == "main" && source_branch == "wip"
  • 이전 버전에서는 개발자로서 가져오기 요청과 같은 각 Git 이벤트의 .tekton 디렉터리에 하나의 파이프라인 실행만 있을 수 있었습니다. 이번 업데이트를 통해 .tekton 디렉터리에 여러 파이프라인 실행이 있을 수 있습니다. 웹 콘솔에 실행 상태 및 보고서가 표시됩니다. 파이프라인 실행이 병렬로 작동하고 Git 공급자 인터페이스로 다시 보고합니다.
  • 이번 업데이트를 통해 가져오기 요청에서 /test 또는 /retest 를 주석 처리하여 파이프라인 실행을 테스트하거나 다시 테스트할 수 있습니다. 이름별로 파이프라인 실행을 지정할 수도 있습니다. 예를 들어 /test <pipelinerun_name > 또는 /retest <pipelinerun-name >을 입력할 수 있습니다.
  • 이번 업데이트를 통해 새로운 tkn-pac delete repository 명령을 사용하여 리포지토리 사용자 정의 리소스 및 관련 시크릿을 삭제할 수 있습니다.

1.8.2. 변경 사항 중단

  • 이번 업데이트에서는 TaskRunPipelineRun 리소스의 기본 메트릭 수준을 다음 값으로 변경합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-observability
      namespace: tekton-pipelines
      labels:
        app.kubernetes.io/instance: default
        app.kubernetes.io/part-of: tekton-pipelines
    data:
      _example: |
      ...
        metrics.taskrun.level: "task"
        metrics.taskrun.duration-type: "histogram"
        metrics.pipelinerun.level: "pipeline"
        metrics.pipelinerun.duration-type: "histogram"
  • 이번 업데이트를 통해 PipelinePipelineRun 리소스 모두에 주석 또는 레이블이 있는 경우 Run 유형의 값이 우선합니다. 주석 또는 레이블이 TaskTaskRun 리소스에 있는 경우에도 마찬가지입니다.
  • Red Hat OpenShift Pipelines 1.8에서 이전에 더 이상 사용되지 않는 PipelineRun.Spec.ServiceAccountNames 필드가 제거되었습니다. 대신 PipelineRun.Spec.TaskRunSpecs 필드를 사용합니다.
  • Red Hat OpenShift Pipelines 1.8에서 이전에 더 이상 사용되지 않는 TaskRun.Status.ResourceResults.ResourceRef 필드가 제거되었습니다. 대신 TaskRun.Status.ResourceResults.ResourceName 필드를 사용합니다.
  • Red Hat OpenShift Pipelines 1.8에서는 이전에 더 이상 사용되지 않는 Conditions 리소스 유형이 제거되었습니다. Pipeline 리소스 정의를 포함하는 Conditions 리소스를 제거합니다. PipelineRun 정의에서 when 표현식을 대신 사용합니다.
  • Tekton 체인의 경우 이 릴리스에서 tekton-provenance 형식이 제거되었습니다. Tekton Cryostat 사용자 지정 리소스에서 "artifacts.taskrun.format": " in-toto "를 설정하여 In-toto 형식을 사용합니다.
  • Red Hat OpenShift Pipelines 1.7.x는 Pipeline과 Code 0.5.x를 제공합니다. 현재 업데이트는 Pipeline과 함께 코드 0.10.x로 제공됩니다. 이 변경으로 인해 새 컨트롤러의 openshift-pipelines 네임스페이스에 새 경로가 생성됩니다. GitHub Apps 또는 Pipeline을 코드로 사용하는 Webhook에서 이 경로를 업데이트해야 합니다. 경로를 가져오려면 다음 명령을 사용하십시오.

    $ oc get route -n openshift-pipelines pipelines-as-code-controller \
      --template='https://{{ .spec.host }}'
  • 이번 업데이트를 통해 Code로 Pipeline은 Repository CRD(사용자 정의 리소스 정의)의 기본 시크릿 키의 이름을 바꿉니다. CRD에서 토큰을 provider. token 으로 교체하고 secretwebhook.secret 으로 교체합니다.
  • 이번 업데이트를 통해 코드로서의 Pipeline은 특수 템플릿 변수를 프라이빗 리포지토리에 대해 여러 파이프라인 실행을 지원하는 변수로 교체합니다. 파이프라인 실행에서 secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}secret: {{ git_auth_secret }} 로 바꿉니다.
  • 이번 업데이트를 통해 코드로서의 Pipeline은 tkn-pac CLI 툴에서 다음 명령을 업데이트합니다.

    • tkn pac repository createtkn pac create 리포지토리로 바꿉니다.
    • tkn pac repository deletetkn pac delete repository 로 바꿉니다.
    • tkn pac 리포지토리 목록을 tkn pac list 로 바꿉니다.

1.8.3. 사용되지 않거나 삭제된 기능

  • OpenShift Container Platform 4.11부터 Red Hat OpenShift Pipelines Operator를 설치하고 업그레이드하기 위한 프리뷰안정적인 채널이 제거됩니다. Operator를 설치하고 업그레이드하려면 적절한 pipelines-<version > 채널을 사용하거나 최신 안정 버전의 최신 채널을 사용합니다. 예를 들어 OpenShift Pipelines Operator 버전 1.8.x 를 설치하려면 pipelines-1.8 채널을 사용합니다.

    참고

    OpenShift Container Platform 4.10 및 이전 버전에서는 프리뷰안정적인 채널을 사용하여 Operator를 설치 및 업그레이드할 수 있습니다.

  • Red Hat OpenShift Pipelines GA 1.6에서 더 이상 사용되지 않는 tekton.dev/v1alpha1 API 버전에 대한 지원은 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 제거될 예정입니다.

    이 변경 사항은 TaskRun,PipelineRun,Task,Pipeline 및 유사한 tekton.dev/v1alpha1 리소스가 포함된 파이프라인 구성 요소에 영향을 미칩니다. 또는 Tekton v1 alpha1에서 Tekton v1beta1로 마이그레이션에 설명된 대로 apiVersion: tekton.dev/v1beta1 사용하도록 기존 리소스를 업데이트합니다.

    tekton.dev/v1alpha1 API 버전에 대한 버그 수정 및 지원은 현재 GA 1.8 라이프 사이클 종료 시에만 제공됩니다.

    중요

    Tekton Operator 의 경우 operator.tekton.dev/v1alpha1 API 버전이 더 이상 사용되지 않습니다. 이 값을 변경할 필요가 없습니다.

  • Red Hat OpenShift Pipelines 1.8에서는 PipelineResource CR(사용자 정의 리소스)을 사용할 수 있지만 더 이상 지원되지 않습니다. PipelineResource CR은 기술 프리뷰 기능과 tekton.dev/v1alpha1 API의 일부였으며 향후 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 더 이상 사용되지 않고 제거될 예정입니다.
  • Red Hat OpenShift Pipelines 1.8에서는 Condition CR(사용자 정의 리소스)이 제거됩니다. Condition CR은 더 이상 사용되지 않으며 향후 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 제거될 예정인 tekton.dev/v1alpha1 API의 일부였습니다.
  • Red Hat OpenShift Pipelines 1.8에서는 gsutilgcr.io 이미지가 제거되었습니다. 이러한 제거를 통해 이 이미지를 사용하는 Pipeline 리소스가 포함된 클러스터를 중단할 수 있습니다. 버그 수정 및 지원은 Red Hat OpenShift Pipelines 1.7 라이프 사이클 종료 시에만 제공됩니다.
  • Red Hat OpenShift Pipelines 1.8에서 PipelineRun.Status.TaskRunsPipelineRun.Status.Runs 필드는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. PipelineRuns의 TEP-0100: Cryostat TaskRuns 및 Runs Status 를 참조하십시오.
  • Red Hat OpenShift Pipelines 1.8에서는 pipelineRunCancelled 상태가 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. PipelineRun 오브젝트의 정상 종료가 이제 알파 기능에서 안정적인 기능으로 확장됩니다. ( TEP-0058: Graceful Pipeline Run Termination 을 참조하십시오.) 또는 pipelineRunCancelled 상태를 대체하는 Cancelled 상태를 사용할 수 있습니다.

    PipelineTask 리소스를 변경할 필요가 없습니다. 파이프라인 실행을 취소하는 도구가 있는 경우 다음 릴리스에서 툴을 업데이트해야 합니다. 이 변경 사항은 새로운 PipelineRun 상태를 지원하도록 CLI, IDE 확장 등과 같은 툴에도 영향을 미칩니다.

    이 기능은 기본적으로 사용할 수 있으므로 TektonConfig 사용자 정의 리소스 정의에서 더 이상 pipeline.enable-api-fields 필드를 alpha 로 설정할 필요가 없습니다.

  • Red Hat OpenShift Pipelines 1.8에서 PipelineRuntimeout 필드가 더 이상 사용되지 않습니다. 대신, 이제 alpha 기능에서 안정적인 기능으로 승격되는 PipelineRun.Timeouts 필드를 사용합니다.

    이 기능은 기본적으로 사용할 수 있으므로 TektonConfig 사용자 정의 리소스 정의에서 더 이상 pipeline.enable-api-fields 필드를 alpha 로 설정할 필요가 없습니다.

  • Red Hat OpenShift Pipelines 1.8에서 init 컨테이너는 LimitRange 오브젝트의 기본 요청 계산에서 생략됩니다.

1.8.4. 확인된 문제

  • s2i-nodejs 파이프라인은 nodejs:14-ubi8-minimal 이미지 스트림을 사용하여 S2I(Source-to-Image) 빌드를 수행할 수 없습니다. 해당 이미지 스트림을 사용하면 STEP "RUN /usr/libexec/s2i/assemble": 종료 상태 127 메시지에서 오류 빌드 가 생성됩니다.

    해결방법: nodejs:14-ubi8-minimal 이미지 스트림 대신 nodejs:14-ubi8 을 사용합니다.

  • Maven 및 Jib-Maven 클러스터 작업을 실행하면 기본 컨테이너 이미지가 Intel(x86) 아키텍처에서만 지원됩니다. 따라서 ARM, IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x) 클러스터에서 작업이 실패합니다.

    해결방법: MAVEN_IMAGE 매개변수 값을 maven:3.6.3-adoptopenjdk-11 으로 설정하여 사용자 지정 이미지를 지정합니다.

    작은 정보

    ARM, IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x)을 기반으로 하는 작업을 설치하기 전에 이러한 플랫폼에서 작업을 실행할 수 있는지 확인합니다. 작업 정보의 "Platforms" 섹션에 ppc64les390x 가 나열되어 있는지 확인하려면 tkn hub info task <name> 명령을 실행하면 됩니다.

  • ARM, IBM Power Systems, IBM Z 및 LinuxONE에서는 s2i-dotnet 클러스터 작업이 지원되지 않습니다.
  • 암시적 매개변수 매핑은 최상위 Pipeline 또는 PipelineRun 정의에서 taskRef 작업으로 매개변수를 잘못 전달합니다. 매핑은 최상위 리소스에서 인라인 taskSpec 사양이 있는 작업으로만 발생해야 합니다. 이 문제는 TektonConfig 사용자 정의 리소스 정의의 파이프라인 섹션에서 enable-api-fields 필드를 alpha 로 설정하여 이 기능을 활성화한 클러스터에만 영향을 미칩니다.

1.8.5. 해결된 문제

  • 이번 업데이트 이전에는 웹 콘솔의 개발자 보기에서 파이프라인 실행 메트릭이 불완전하고 오래되었습니다. 이번 업데이트를 통해 메트릭이 올바르도록 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 파이프라인에 실패한 두 개의 병렬 작업이 있고 그 중 하나에 retries=2 가 있는 경우 최종 작업이 실행되지 않았으며 파이프라인이 시간 초과되어 실행되지 않았습니다. 예를 들어 pipelines-operator-subscription 작업이 간헐적으로 실패했습니다. Unable to connect to the server: EOF. 이번 업데이트를 통해 최종 작업이 항상 실행되도록 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 작업 실행이 실패했기 때문에 파이프라인 실행이 중지된 경우 다른 작업 실행이 재시도를 완료하지 못할 수 있습니다. 결과적으로 finally 작업이 예약되지 않아 파이프라인이 중단되었습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다. TaskRunsRun 오브젝트는 정상 중지를 통해 파이프라인 실행이 중지되었을 때 다시 시도하여 파이프라인 실행을 완료할 수 있습니다.
  • 이번 업데이트에서는 TaskRun 오브젝트가 존재하는 네임스페이스에 하나 이상의 LimitRange 오브젝트가 있을 때 리소스 요구 사항을 계산하는 방법이 변경됩니다. 스케줄러는 이제 단계 컨테이너를 고려하고 LimitRange 오브젝트의 요청을 인수할 때 사이드카 컨테이너와 같은 기타 모든 앱 컨테이너를 제외합니다.
  • 이번 업데이트 이전에는 특정 조건에서는 이중 대시 플래그 용어집에 따라 플래그 패키지가 하위 명령을 즉시 구문 분석할 수 있었습니다. --. 이 경우 실제 명령이 아닌 entrypoint 하위 명령을 실행했습니다. 이번 업데이트에서는 진입점이 올바른 명령을 실행하도록 이 플래그 구문 분석 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 이미지를 가져오는 데 실패한 경우 컨트롤러에서 여러 패닉을 생성할 수 있거나 풀 상태가 불완전할 수 있습니다. 이번 업데이트에서는 status.TaskSpec 값이 아닌 step.ImageID 값을 확인하여 문제를 해결합니다.
  • 이번 업데이트 이전에는 예약되지 않은 사용자 정의 작업이 포함된 파이프라인 실행을 취소하면 PipelineRunCouldntCancel 오류가 발생했습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 해당 오류를 생성하지 않고 일정하지 않은 사용자 지정 작업이 포함된 파이프라인 실행을 취소할 수 있습니다.
  • 이번 업데이트 이전에는 $params["< NAME >"]의 <NAME > 또는 $params['<NAME>'] 에 점 문자(.. )가 포함되어 있는 경우 점 오른쪽의 이름 부분이 추출되지 않았습니다. 예를 들어 $params[" org.ipsum.lorem"] 에서 조직만 추출되었습니다.

    이번 업데이트에서는 $params 가 전체 값을 가져오도록 문제가 해결되었습니다. 예를 들어 $params["org.ipsum.lorem"]$params['org.ipsum.lorem'] 은 유효하고 < NAME > , org.ipsum.lorem 의 전체 값이 추출됩니다.

    < NAME >이 작은따옴표 또는 큰따옴표로 묶지 않은 경우에도 오류가 발생합니다. 예를 들어 $params.org.ipsum.lorem 이 유효하지 않으며 검증 오류가 생성됩니다.

  • 이번 업데이트를 통해 Trigger 리소스는 사용자 정의 인터셉터를 지원하고 사용자 정의 인터셉터 서비스의 포트가 ClusterInterceptor 정의 파일의 포트와 동일한지 확인합니다.
  • 이번 업데이트 이전에는 Tekton 체인 및 Operator 구성 요소에 대한 tkn version 명령이 제대로 작동하지 않았습니다. 이번 업데이트에서는 명령이 올바르게 작동하고 해당 구성 요소에 대한 버전 정보를 반환하도록 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 tkn pr delete --ignore-running 명령을 실행하고 파이프라인 실행에 status.condition 값이 없는 경우 tkn CLI 툴에서 null 포인터 오류(NPE)를 생성했습니다. 이번 업데이트에서는 CLI 툴이 오류를 생성하고 아직 실행 중인 파이프라인 실행을 올바르게 무시하도록 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 tkn pr delete --keep <value > 또는 tkn tr delete --keep <value > 명령을 사용한 후 파이프라인 실행 또는 작업 실행 수가 값보다 작으면 명령에서 예상대로 오류를 반환하지 않았습니다. 이번 업데이트에서는 명령이 해당 조건에서 오류를 올바르게 반환하도록 문제가 해결되었습니다.
  • 이번 업데이트 이전에는 --ignore-running 플래그와 함께 tkn pr delete 또는 tkn tr delete 명령을 -p 또는 -t 플래그와 함께 사용하는 경우 명령은 실행 중 또는 보류 중인 리소스를 잘못 삭제했습니다. 이번 업데이트에서는 이러한 명령이 실행 중이거나 보류 중인 리소스를 올바르게 무시하도록 문제가 해결되었습니다.
  • 이번 업데이트를 통해 Tekton Cryostat 사용자 정의 리소스를 사용하여 Tekton 체인을 구성할 수 있습니다. 이 기능을 사용하면 업그레이드 중에 덮어쓰는 chain-config 구성 맵과 달리 업그레이드 후에도 구성이 유지될 수 있습니다.
  • 이번 업데이트를 통해 buildahs2i 클러스터 작업을 제외하고 ClusterTask 리소스가 기본적으로 root로 실행되지 않습니다.
  • 이번 업데이트 이전에는 init 을 첫 번째 인수로 사용할 때 Red Hat OpenShift Pipelines 1.7.1의 작업이 실패하고 두 개 이상의 인수가 실패했습니다. 이번 업데이트를 통해 플래그가 올바르게 구문 분석되고 작업 실행이 성공적으로 수행됩니다.
  • 이번 업데이트 이전에는 OpenShift Container Platform 4.9 및 4.10에 Red Hat OpenShift Pipelines Operator를 설치하는 데 실패했습니다. 잘못된 역할 바인딩으로 인해 다음 오류 메시지가 표시됩니다.

    error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io
    "openshift-operators-prometheus-k8s-read-binding" is invalid:
    roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef

    이번 업데이트에서는 오류가 더 이상 발생하지 않도록 문제가 해결되었습니다.

  • 이전 버전에서는 Red Hat OpenShift Pipelines Operator 업그레이드로 인해 파이프라인 서비스 계정이 다시 생성되어 서비스 계정에 연결된 보안이 손실되었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 업그레이드 중에 Operator가 더 이상 파이프라인 서비스 계정을 다시 생성하지 않습니다. 결과적으로 파이프라인 서비스 계정에 연결된 보안은 업그레이드 후에도 유지되며 리소스(tasks 및 pipelines)가 계속 올바르게 작동합니다.
  • 이번 업데이트를 통해 인프라 노드 설정이 TektonConfig CR(사용자 정의 리소스)에 구성된 경우 코드 Pod로 파이프라인이 인프라 노드에서 실행됩니다.
  • 이전에는 리소스 정리기를 사용하여 각 네임스페이스 Operator에서 별도의 컨테이너에서 실행되는 명령을 생성했습니다. 이 설계에서는 네임스페이스 수가 많은 클러스터에서 너무 많은 리소스를 소비했습니다. 예를 들어 단일 명령을 실행하기 위해 1000개의 네임스페이스가 있는 클러스터에서 Pod에 1000개의 컨테이너가 생성되었습니다.

    이번 업데이트에서는 이 문제가 해결되었습니다. 네임스페이스 기반 구성을 작업에 전달하여 모든 명령이 루프에서 하나의 컨테이너에서 실행되도록 합니다.

  • Tekton 체인에서는 작업 및 이미지에 서명하는 데 사용되는 키를 보유하려면 signing-secrets 라는 시크릿을 정의해야 합니다. 그러나 이번 업데이트 이전에는 Red Hat OpenShift Pipelines Operator가 이 시크릿을 재설정하거나 덮어쓰고 키가 손실되었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 이제 Operator를 통해 Tekton 체인을 설치한 후 보안이 구성되면 시크릿이 유지되고 업그레이드로 덮어쓰지 않습니다.
  • 이번 업데이트 이전에는 모든 S2I 빌드 작업이 다음 메시지와 유사한 오류로 실패했습니다.

    Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted
    time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted"
    time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"

    이번 업데이트를 통해 SCC(Security Context Constraints)가 BuildahS2I 클러스터 작업에 필요한 SETFCAP 기능과 호환됩니다. 결과적으로 BuildahS2I 빌드 작업이 성공적으로 실행될 수 있습니다.

    다양한 언어 및 프레임워크로 작성된 애플리케이션에 대한 Buildah 클러스터 작업 및 S2I 빌드 작업을 성공적으로 실행하려면 빌드푸시 와 같은 적절한 단계 오브젝트에 대해 다음 스니펫을 추가합니다.

    securityContext:
      capabilities:
        add: ["SETFCAP"]
  • 이번 업데이트 이전에는 Red Hat OpenShift Pipelines Operator를 설치하는 데 예상보다 오래 걸렸습니다. 이번 업데이트에서는 설치 프로세스의 속도를 높이기 위해 일부 설정을 최적화합니다.
  • 이번 업데이트를 통해 Buildah 및 S2I 클러스터 작업에는 이전 버전보다 더 적은 단계가 있습니다. ResourceQuotaLimitRange 오브젝트에서 더 잘 작동하며 필요한 것보다 더 많은 리소스가 필요하지 않도록 일부 단계가 단일 단계로 결합되었습니다.
  • 이번 업데이트에서는 클러스터 작업에서 Buildah, tkn CLI 툴 및 skopeo CLI 툴 버전을 업그레이드합니다.
  • 이번 업데이트 이전에는 네임스페이스가 Terminating 상태인 경우 RBAC 리소스를 생성할 때 Operator가 실패했습니다. 이번 업데이트를 통해 Operator는 Terminating 상태의 네임스페이스를 무시하고 RBAC 리소스를 생성합니다.
  • 이번 업데이트 이전에는 정리 cronjob의 Pod가 예상대로 인프라 노드에 예약되지 않았습니다. 대신 작업자 노드에서 예약되었거나 전혀 예약되지 않았습니다. 이번 업데이트를 통해 TektonConfig CR(사용자 정의 리소스)에 구성된 경우 이러한 유형의 Pod를 인프라 노드에 예약할 수 있습니다.

1.8.6. Red Hat OpenShift Pipelines General Availability 1.8.1 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.8.1은 OpenShift Container Platform 4.10, 4.11 및 4.12에서 사용할 수 있습니다.

1.8.6.1. 확인된 문제

  • 기본적으로 컨테이너는 보안을 강화하기 위해 제한된 권한을 갖습니다. 제한된 권한은 Red Hat OpenShift Pipelines Operator의 모든 컨트롤러 Pod 및 일부 클러스터 작업에 적용됩니다. 제한된 권한으로 인해 git-clone 클러스터 작업이 특정 구성에서 실패합니다.

    해결방법: 없음. SRVKP-2634 문제를 추적할 수 있습니다.

  • 설치 프로그램 세트가 failed 상태에 있는 경우 TektonConfig 사용자 정의 리소스의 상태가 False 대신 True 로 잘못 표시됩니다.

    예: 실패한 설치 프로그램 세트

    $ oc get tektoninstallerset
    NAME                                     READY   REASON
    addon-clustertasks-nx5xz                 False   Error
    addon-communityclustertasks-cfb2p        True
    addon-consolecli-ftrb8                   True
    addon-openshift-67dj2                    True
    addon-pac-cf7pz                          True
    addon-pipelines-fvllm                    True
    addon-triggers-b2wtt                     True
    addon-versioned-clustertasks-1-8-hqhnw   False   Error
    pipeline-w75ww                           True
    postpipeline-lrs22                       True
    prepipeline-ldlhw                        True
    rhosp-rbac-4dmgb                         True
    trigger-hfg64                            True
    validating-mutating-webhoook-28rf7       True

    예: 잘못된 TektonConfig 상태

    $ oc get tektonconfig config
    NAME     VERSION   READY   REASON
    config   1.8.1     True

1.8.6.2. 해결된 문제

  • 이번 업데이트 이전에는 실행 중인 파이프라인의 pruner 삭제 작업 실행 및 다음 경고를 표시했습니다. 일부 작업은 상위를 수행하지 않고 완료된 것으로 표시되었습니다. 이번 업데이트를 통해 pruner는 실행 중인 파이프라인의 일부인 작업 실행을 유지합니다.
  • 이번 업데이트 이전에는 pipeline-1.8 이 Red Hat OpenShift Pipelines Operator 1.8.x를 설치하기 위한 기본 채널이었습니다. 이번 업데이트를 통해 latest 는 기본 채널입니다.
  • 이번 업데이트 이전에는 코드 컨트롤러 Pod로서의 Pipeline에 사용자가 노출하는 인증서에 액세스할 수 없었습니다. 이번 업데이트를 통해 코드로서의 Pipeline은 자체 서명 또는 사용자 정의 인증서로 보호되는 경로 및 Git 리포지토리에 액세스할 수 있습니다.
  • 이번 업데이트 이전에는 Red Hat OpenShift Pipelines 1.7.2에서 1.8.0으로 업그레이드한 후 RBAC 오류로 인해 작업이 실패했습니다. 이번 업데이트를 통해 RBAC 오류 없이 작업이 성공적으로 실행됩니다.
  • 이번 업데이트 이전에는 tkn CLI 툴을 사용하여 유형이 배열결과 오브젝트가 포함된 작업 실행 및 파이프라인 실행을 제거할 수 없었습니다. 이번 업데이트를 통해 tkn CLI 툴을 사용하여 유형이 배열결과 오브젝트가 포함된 작업 실행 및 파이프라인 실행을 제거할 수 있습니다.
  • 이번 업데이트 이전에는 파이프라인 사양에 배열 유형의 ENV_VARS 매개변수가 포함된 작업이 포함된 경우 pipeline run failed with the error: invalid input params for task func-buildpacks: param types don't match the user-specified type: [ENV_VARS]. 이번 업데이트를 통해 이러한 파이프라인 및 작업 사양으로 파이프라인 실행이 실패하지 않습니다.
  • 이번 업데이트 이전에는 클러스터 관리자가 컨테이너 레지스트리에 액세스하기 위한 Buildah 클러스터 작업에 config.json 파일을 제공할 수 없었습니다. 이번 업데이트를 통해 클러스터 관리자는 dockerconfig 작업 공간을 사용하여 config.json 파일에 Buildah 클러스터 작업을 제공할 수 있습니다.

1.8.7. Red Hat OpenShift Pipelines General Availability 1.8.2 릴리스 노트

이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.8.2는 OpenShift Container Platform 4.10, 4.11 및 4.12에서 사용할 수 있습니다.

1.8.7.1. 해결된 문제

  • 이번 업데이트 이전에는 SSH 키를 사용하여 리포지토리를 복제할 때 git-clone 작업이 실패했습니다. 이번 업데이트를 통해 git-init 작업에서 root가 아닌 사용자의 역할이 제거되고 SSH 프로그램이 $HOME/.ssh/ 디렉터리에서 올바른 키를 확인합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.