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


Red Hat OpenShift Pipelines General Availability (GA)는 이제 OpenShift Container Platform 4.7에서 사용할 수 있습니다.

참고

안정적인 프리뷰 Operator 채널 외에도 Red Hat OpenShift Pipelines Operator 1.4.0에는 ocp-4.6, ocp-4.5 및 ocp-4.4 사용 중단 채널이 함께 제공됩니다. 이러한 더 이상 사용되지 않는 채널과 이에 대한 지원은 다음 Red Hat OpenShift Pipelines 릴리스에서 제거됩니다.

1.12.1. 호환성 및 지원 매트릭스

이 릴리스의 일부 기능은 현재 기술 프리뷰 상태입니다. 이러한 실험적 기능은 프로덕션용이 아닙니다.

아래 표에서 기능은 다음과 같은 상태로 표시되어 있습니다.

TP

기술 프리뷰

GA

정식 출시일 (GA)

해당 기능은 Red Hat Customer Portal의 지원 범위를 참조하십시오.

표 1.4. 호환성 및 지원 매트릭스
기능버전지원 상태

파이프라인

0.22

GA

CLI

0.17

GA

카탈로그

0.22

GA

Trigger

0.12

TP

파이프 라인 리소스

-

TP

질문이나 의견이 있으시면 제품팀에 이메일(pipelines-interest@redhat.com)로 보내주시기 바랍니다.

1.12.2. 새로운 기능

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

  • 사용자 지정 작업에는 다음과 같은 향상된 기능이 있습니다.

    • 파이프라인 결과는 사용자 지정 작업에서 생성된 결과를 참조할 수 있습니다.
    • 사용자 지정 작업에서는 작업 영역, 서비스 계정 및 Pod 템플릿을 사용하여 더 복잡한 사용자 지정 작업을 빌드할 수 있습니다.
  • finally 작업에는 다음과 같은 향상된 기능이 있습니다.

    • finally 작업에서 when 표현식이 지원되므로 효율적으로 보호되는 실행 및 작업 재사용성을 개선할 수 있습니다.
    • finally 작업에서는 동일한 파이프라인 내의 모든 작업 결과를 사용하도록 구성할 수 있습니다.

      참고

      OpenShift Container Platform 4.7 웹 콘솔에서 when 표현식 및 finally 작업을 지원하지 않습니다.

  • dockercfg 또는 dockerconfigjson 유형의 여러 보안에 대한 지원이 런타임 시 인증에 추가되었습니다.
  • git-clone 작업을 사용하여 스파스-체크아웃을 지원하는 기능이 추가되었습니다. 이를 통해 리포지토리의 하위 집합만 로컬 복사본으로 복제할 수 있으며 복제된 리포지토리의 크기를 제한할 수 있습니다.
  • 실제로 시작하지 않고 보류 중인 상태에서 파이프라인 실행을 생성할 수 있습니다. 로드가 많은 클러스터에서 Operator는 파이프라인 실행 시작 시간을 제어할 수 있습니다.
  • 컨트롤러에 대해 SYSTEM_NAMESPACE 환경 변수를 수동으로 설정했는지 확인합니다. 이전에는 기본적으로 설정되었습니다.
  • 이제 루트가 아닌 사용자가 파이프라인의 빌드-기반 이미지에 추가되어 git-init가 루트가 아닌 사용자로 리포지토리를 복제할 수 있습니다.
  • 파이프라인 실행이 시작되기 전에 해결된 리소스 간 종속성을 확인하는 지원이 추가되어 있습니다. 파이프라인의 모든 결과 변수가 유효해야 하며 파이프라인의 선택적 작업 공간을 파이프라인 실행을 시작하기 위해 필요한 작업으로만 전달할 수 있습니다.
  • 컨트롤러 및 Webhook는 루트가 아닌 그룹으로 실행되며, 보안을 강화하기 위해 해당 기능이 제거되었습니다.
  • tkn pr logs 명령을 사용하여 재시도된 작업 실행에 대한 로그 스트림을 확인할 수 있습니다.
  • tkn tr delete 명령에서 --clustertask 옵션을 사용하여 특정 클러스터 작업과 연관된 모든 작업을 삭제할 수 있습니다.
  • customResource 필드를 도입하여 EventListener 리소스와 함께 Knative 서비스 사용에 대한 지원이 추가되었습니다.
  • 이벤트 페이로드에서 JSON 형식을 사용하지 않으면 오류 메시지가 표시됩니다.
  • GitLab, BitBucket 및 GitHub와 같은 소스 제어 인터셉터는 이제 새로운 InterceptorRequest 또는 InterceptorResponse 유형 인터페이스를 사용합니다.
  • JSON 개체 또는 배열을 문자열에 인코딩할 수 있도록 새로운 CEL 함수 marshalJSON이 구현됩니다.
  • CEL 및 소스 제어 코어 인터셉터를 제공하는 HTTP 처리기가 추가되었습니다. tekton-pipelines 네임스페이스에 배포된 단일 HTTP 서버에 4개의 코어 인터셉터를 패키징합니다. EventListener 오브젝트는 HTTP 서버를 통해 이벤트를 인터셉터로 전달합니다. 각 인터셉터는 다른 경로에서 사용할 수 있습니다. 예를 들어 /cel 경로에서 CEL 인터셉터를 사용할 수 있습니다.
  • pipelines-scc SCC(Security Context Constraint)는 파이프라인의 기본 pipeline 서비스 계정과 함께 사용됩니다. 이 새 서비스 계정은 anyuid와 유사하지만 OpenShift Container Platform 4.7의 SCC에 대해 YAML에 정의된 것과 약간의 차이점이 있습니다.

    fsGroup:
      type: MustRunAs

1.12.3. 사용되지 않는 기능

  • 파이프라인 리소스 스토리지의 build-gcs 하위 유형과 gcs-fetcher 이미지는 지원되지 않습니다.
  • 클러스터 작업의 taskRun 필드에서 tekton.dev/task 레이블이 제거됩니다.
  • Webhook의 경우 admissionReviewVersions 필드에 해당하는 v1beta1 값이 제거됩니다.
  • 빌드 및 배포를 위한 creds-init 도우미 이미지가 제거됩니다.
  • 트리거 사양 및 바인딩에서는 template.ref를 사용하도록 더 이상 사용되지 않는 필드 template.name이 제거됩니다. ref 필드를 사용하려면 모든 eventListener 정의를 업데이트해야 합니다.

    참고

    OpenShift Pipelines 1.3.x 및 이전 버전에서 OpenShift Pipelines 1.4.0으로 업그레이드하면 template.name 필드의 사용할 수 없기 때문에 이벤트 리스너가 중단됩니다. 이러한 경우 OpenShift Pipelines 1.4.1을 사용하여 복원된 template.name 필드를 사용할 수 있습니다.

  • EventListener 사용자 정의 리소스/개체의 경우 Resource가 사용되며 PodTemplateServiceType 필드는 더 이상 사용되지 않습니다.
  • 더 이상 사용되지 않는 사양 스타일 내장 바인딩이 제거됩니다.
  • spec 필드는 triggerSpecBinding에서 제거됩니다.
  • 이벤트 ID 표현은 5자의 임의의 문자열에서 UUID로 변경됩니다.

1.12.4. 확인된 문제

  • 개발자 화면에서 파이프라인 지표 및 트리거 기능은 OpenShift Container Platform 4.7.6 이상 버전에서만 사용할 수 있습니다.
  • IBM Power Systems, IBM Z 및 LinuxONE에서는 tkn hub 명령이 지원되지 않습니다.
  • IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x) 클러스터에서 Maven 및 Jib Maven 클러스터 작업을 실행하는 경우 MAVEN_IMAGE 매개변수 값을 maven:3.6.3-adoptopenjdk-11으로 설정합니다.
  • 트리거 바인딩에 다음 구성이 있는 경우 JSON 형식이 잘못 처리되어 발생하는 오류를 트리거합니다.

    params:
      - name: github_json
        value: $(body)

    문제를 해결하려면 다음을 수행합니다.

    • 트리거 v0.11.0 이상을 사용하는 경우 marshalJSON CEL 함수를 사용하여 JSON 개체 또는 배열을 가져와 해당 오브젝트 또는 배열의 JSON 인코딩을 문자열로 반환합니다.
    • 이전 트리거 버전을 사용하는 경우 트리거 템플릿에 다음 주석을 추가합니다.

      annotations:
        triggers.tekton.dev/old-escape-quotes: "true"
  • OpenShift Pipelines 1.3.x에서 1.4.x로 업그레이드할 때 경로를 다시 생성해야 합니다.

1.12.5. 해결된 문제

  • 이전에는 클러스터 작업의 작업 실행에서 tekton.dev/task 레이블이 제거되었으며 tekton.dev/clusterTask 레이블이 도입되었습니다. 해당 변경으로 인한 문제는 clustertask describedelete 명령을 수정하여 해결됩니다. 또한 작업의 lastrun 기능이 수정되어 이전 버전의 파이프라인의 작업 실행에 적용되는 tekton.dev/task 레이블의 문제를 해결합니다.
  • 대화형 tkn pipeline start pipelinename을 수행할 때 PipelineResource가 대화형으로 생성됩니다. 리소스 상태가 nil이 아닌 경우 tkn p start 명령은 리소스 상태를 출력합니다.
  • 이전에는 tekton.dev/task=name 레이블이 클러스터 작업에서 생성된 작업 실행에서 제거되었습니다. 이번 수정에서는 tkn clustertask start 명령을 --last 플래그로 수정하여 생성된 작업 실행에서 tekton.dev/task=name 라벨을 확인합니다.
  • 작업에서 인라인 작업 사양을 사용하는 경우 이제 tkn pipeline describe 명령을 실행할 때 해당 작업 실행이 파이프라인에 포함되고, 작업 이름이 포함된 것으로 반환됩니다.
  • tkn version 명령은 구성된 kubeConfiguration namespace 또는 클러스터에 대한 액세스없이 설치된 Tekton CLI 툴 버전을 표시하도록 수정되었습니다.
  • 인수가 예기치 않은 것이거나 두 개 이상의 인수가 사용되는 경우 tkn completion 명령에서 오류가 발생합니다.
  • 이전에는 파이프라인 사양에 중첩된 finally 작업으로 인해 v1alpha1 버전으로 변환되고 v1beta1 버전으로 복원된 finally 작업이 손실되었습니다. 변환 중에 발생하는 이 오류는 잠재적인 데이터 손실을 방지하기 위해 수정되었습니다. 파이프라인은 이제 파이프라인 사양에 중첩된 finally 작업에서 실행되며 알파 버전에 저장되지만 나중에 역직렬화됩니다.
  • 이전에는 서비스 계정에 {}secret 필드가 있는 경우 Pod 생성에 오류가 발생했습니다. 빈 시크릿 이름을 가진 GET 요청이 오리소스 이름을 비워 둘 수 없다는 오류를 반환했기 때문에 이 작업은 CouldntGetTask로 실패합니다. 이 문제는 kubeclient GET 요청에서 시크릿 이름이 비어 있지 않도록 방지하여 해결되었습니다.
  • 이제 v1beta1 API 버전이 있는 파이프라인은 finally 작업을 손실하지 않고 v1alpha1 버전과 함께 요청할 수 있습니다. 반환된 v1alpha1 버전을 적용하면 리소스가 v1beta1로 저장되고 finally 섹션은 원래 상태로 복원됩니다.
  • 이전에는 컨트롤러의 설정되지 않은 selfLink 필드로 인해 Kubernetes v1.20 클러스터에서 오류가 발생했습니다. 임시 수정으로 CloudEvent 소스 필드는 자동으로 채워진 selfLink 필드의 값이 없이 현재 소스 URI와 일치하는 값으로 설정됩니다.
  • 이전에는 gcr.io와 같은 점이 있는 시크릿 이름으로 인해 작업 실행 생성에 실패했습니다. 이는 내부적으로 볼륨 마운트 이름의 일부로 사용되는 시크릿 이름 때문에 발생했습니다. 볼륨 마운트 이름은 RFC1123 DNS 레이블을 준수하고, 이름의 일부로 점을 허용하지 않습니다. 이 문제는 점을 대시로 대체하여 읽을 수 있는 이름을 만들어 해결되었습니다.
  • 이제 finally 작업에서 컨텍스트 변수의 유효성을 검사합니다.
  • 이전 버전에서는 작업 실행 조정기에서 생성된 Pod 이름을 포함하는 이전 상태 업데이트가 없는 작업 실행을 통과하면 작업 실행 조정기는 작업 실행과 연결된 Pod를 나열했습니다. 작업 실행 조정기에서는 Pod에 전파된 작업 실행 레이블을 사용하여 Pod를 찾았습니다. 작업 실행 중에 이러한 레이블을 변경하면 코드에서 기존 pod를 찾지 못했습니다. 결과적으로 중복된 pod가 생성되었습니다. 이 문제는 Pod를 찾을 때 작업 실행 조정기를 tekton.dev/taskRun Tekton- controlled 라벨만 사용하도록 변경하여 해결되었습니다.
  • 이전 버전에서는 파이프라인에서 선택적 작업 영역을 수락하여 파이프라인 작업으로 전달하면 누락된 작업 공간 바인딩이 선택적 작업 공간에 유효한 상태인 경우에도 작업 영역을 제공하지 않은 경우 실행 조정기가 중지되어 오류가 발생했습니다. 이 문제는 선택적 작업 영역을 제공하지 않아도 파이프라인 실행 조정기에서 작업 실행을 생성하지 못하도록 하여 해결되었습니다.
  • 단계 상태의 정렬 순서는 단계 컨테이너의 순서와 일치합니다.
  • 이전에는 Pod에 CreateContainerConfigError가 발생할 때 작업 실행 상태가 unknown으로 설정되어 이로 인해 Pod가 시간 초과될 때까지 작업 및 파이프라인이 실행되었습니다. 이 문제는 Pod에 CreateContainerConfigError 이유가 발생할 때 작업이 실패로 설정되도록 작업 실행 상태를 false로 설정하여 해결되었습니다.
  • 이전에는 파이프라인 실행이 완료된 후 첫 번째 조정 시 파이프라인 결과가 해결되었습니다. 이로 인해 해결에 실패하여 파이프라인 실행의 Succeeded 조건을 덮어쓸 수 있습니다. 결과적으로 최종 상태 정보가 손실되어 파이프라인의 작동 조건을 모니터링하는 모든 서비스에 혼란을 줄 수 있습니다. 이 문제는 파이프라인 실행이 Succeeded 또는 True 조건이 될 때 파이프라인 결과의 해결을 조정의 끝으로 이동하여 해결됩니다.
  • 이제 실행 상태 변수가 확인됩니다. 이렇게 하면 실행 상태에 액세스하기 위해 컨텍스트 변수를 검증하는 동안 작업 결과를 확인하는 것을 방지할 수 있습니다.
  • 이전 버전에서는 잘못된 변수가 포함된 파이프라인 결과가 변수의 리터럴 표현식을 그대로 사용하여 파이프라인 실행에 추가되었습니다. 따라서 결과가 올바르게 설정되어 있는지를 평가하는 것은 쉽지 않았습니다. 이 문제는 실패한 작업 실행을 참조하는 파이프 라인 실행 결과 필터링하여 해결되었습니다. 이제 잘못된 변수가 포함된 파이프라인 결과는 파이프라인 실행에서 전혀 배출되지 않습니다.
  • tkn eventlistener describe 명령이 템플릿 없이 충돌하지 않도록 수정되었습니다. 트리거 참조에 대한 세부 정보도 표시합니다.
  • OpenShift Pipelines 1.3.x 및 이전 버전에서 OpenShift Pipelines 1.4.0으로 업그레이드하면 template.name 을 사용할 수 없기 때문에 이벤트 리스너가 중단됩니다. OpenShift Pipelines 1.4.1에서는 트리거에서 이벤트 리스너 중단을 방지하기 위해 template.name 이 복원되었습니다.
  • OpenShift Pipelines 1.4.1에서는 OpenShift Container Platform 4.7 기능 및 동작에 맞게 ConsoleQuickStart 사용자 정의 리소스가 업데이트되었습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.