1.3. Red Hat OpenShift Pipelines General Availability 1.17 릴리스 정보
이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.17은 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.
1.3.1. 새로운 기능
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.17의 새로운 기능도 소개합니다.
1.3.1.1. 파이프라인
이번 릴리스에서는 Git 확인자를 사용하여 여러 Git 공급자를 구성하거나
TektonConfig
CR(사용자 정의 리소스)에서 동일한 Git 공급자에 대한 여러 구성을 추가할 수 있습니다. 그런 다음configKey
매개변수를 사용하여 다른 작업 실행 및 파이프라인 실행에 사용할 Git 구성을 지정할 수 있습니다.여러 Git 공급자 구성의 예
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: # ... pipeline: git-resolver-config: # configuration 1 fetch-timeout: "1m" default-url: "https://github.com/tektoncd/catalog.git" default-revision: "main" scm-type: "github" server-url: "" api-token-secret-name: "" api-token-secret-key: "" api-token-secret-namespace: "default" default-org: "" # configuration 2 test1.fetch-timeout: "5m" test1.default-url: "" test1.default-revision: "stable" test1.scm-type: "github" test1.server-url: "api.internal-github.com" test1.api-token-secret-name: "test1-secret" test1.api-token-secret-key: "token" test1.api-token-secret-namespace: "test1" test1.default-org: "tektoncd" # configuration 3 test2.fetch-timeout: "10m" test2.default-url: "" test2.default-revision: "stable" test2.scm-type: "gitlab" test2.server-url: "api.internal-gitlab.com" test2.api-token-secret-name: "test2-secret" test2.api-token-secret-key: "pat" test2.api-token-secret-namespace: "test2" test2.default-org: "tektoncd-infra" # ...
파이프라인 실행에
test1
구성 사용 예apiVersion: tekton.dev/v1 kind: PipelineRun metadata: name: example spec: pipelineRef: resolver: git params: # ... - name: configKey value: test1 # ...
이번 업데이트를 통해 클러스터 수준 외에도 네임스페이스, 파이프라인 및 파이프라인 실행 수준에서 실행 중인
PipelineRun
리소스를 모니터링할 수 있습니다.metrics.running-pipelinerun.level
매개변수 값을네임스페이스
,pipeline
또는pipelinerun
으로 설정하여TektonConfig
사용자 정의 리소스를 통해 수준을 구성할 수 있습니다. 기본값은 empty이며 클러스터 수준에서 모니터링을 설정합니다.네임스페이스 수준에서 실행 중인 파이프라인 실행을 모니터링하는 예
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: pipeline: # ... metrics.running-pipelinerun.level: namespace # ...
-
이번 업데이트를 통해 파이프라인 실행 또는 작업 실행 후 리소스의 YAML 매니페스트에는 이를 실행한 사용자의 ID를 표시하는 레이블이 포함되어 있습니다.
PipelineRun
리소스의 경우 레이블은tekton.dev/PipelineRunUID
입니다.TaskRun
리소스의 경우 레이블은tekton.dev/TaskRunUID
입니다. -
이번 업데이트를 통해
TektonConfig
CR의spec.pipeline.performance
사양을 사용하여threads-per-controller
,kube-api-qps
,kube-api-burst
와 같은 성능 튜닝 값을 지정할 때 OpenShift Pipelines는 이러한 값을 확인자 컨트롤러 및 기타 컨트롤러에 적용합니다.
1.3.1.2. Operator
이번 업데이트를 통해 추가 인수(예:
--all
및--preserve-digests
)를 사용하여skopeo-copy
명령을 실행할 수 있습니다. 다음 예와 같이 이러한 인수를 공백으로 구분된 문자열로 전달할 수 있습니다.명령 예
$ tkn task start skopeo-copy -p ARGS="--all --preserve-digests"
- 이번 업데이트를 통해 OpenShift Pipelines는 파이프라인 또는 작업에 적용하는 SCC(보안 컨텍스트 제약 조건)의 임시 볼륨 설정을 적용합니다.
1.3.1.3. 코드로서의 파이프라인
-
이번 업데이트를 통해 Pipelines에서 실행 중인
PipelineRun
리소스 수를 코드로 표시하기 위해pipelines_as_code_running_pipelineruns_count
지표가 추가되었습니다. 메트릭은 리포지토리 또는 네임스페이스로 필터링할 수 있습니다. -
이번 업데이트를 통해 Pipelines의 모든
PipelineRun
리소스에서 가져온 총기간을 코드로 표시하기 위해 pipelines_as_code_pipelinerun_duration_sum
메트릭이 추가되었습니다. 메트릭은 리포지토리, 네임스페이스,PipelineRun
상태 및PipelineRun
상태 변경 이유로 필터링할 수 있습니다.
1.3.1.4. Tekton 결과
이번 업데이트를 통해 결과 테이블의
요약 필드
열에 있는 파이프라인 및 작업의 YAML 매니페스트의 특정 라벨 및 주석을 포함하도록 Tekton 결과를 구성할 수 있습니다. 기본적으로tekton.dev/pipeline
레이블 값이 사용됩니다. 이 변경을 수행하려면 다음 예와 같이TektonResult
CR을 수정합니다.TektonResult
CR에서 요약 라벨 및 주석을 구성하는 예apiVersion: operator.tekton.dev/v1 kind: TektonResult metadata: name: result spec: options: deployments: tekton-results-watcher: spec: template: spec: containers: - name: watcher args: - "--summary_labels=org.tekton.sample_label,tekton.dev/pipeline" - "--summary_annotations=org.tekton.sample_annotation"
1.3.1.5. Tekton 체인
이번 업데이트를 통해
TektonConfig
CR(사용자 정의 리소스)을 구성하여ecdsa
유형의x509
키 쌍을 생성하고 Tekton Chains와 함께 사용하여 아티팩트에 서명할 수 있습니다.TektonConfig
CR(사용자 정의 리소스)에서generateSigningSecret
필드를true
로 설정하여 키 쌍을 생성할 수 있습니다.ecdsa
키 쌍 생성 예apiVersion: operator.tekton.dev/v1 kind: TektonConfig metadata: name: config spec: # ... chain: disabled: false generateSigningSecret: true # ...
이번 업데이트 이전에는
TektonConfig
CR에서 Tekton 체인을 구성하지 않은 경우 Operator는 기본 체인 구성을 전달하지 않았습니다. 이번 업데이트를 통해TektonConfig
CR에서 Tekton 체인을 구성하지 않으면 Operator는 다음 기본 속성을 사용하여 Tekton 체인 구성을 설정합니다.apiVersion: operator.tekton.dev/v1 kind: TektonConfig metadata: name: config spec: # ... chain: artifacts.taskrun.format: in-toto artifacts.taskrun.storage: oci artifacts.oci.storage: oci artifacts.oci.format: simplesigning artifacts.pipelinerun.format: in-toto artifacts.pipelinerun.storage: oci # ...
-
이번 업데이트를 통해 Tekton 체인은 이제 이름을 가질 수 있는 지정된 파일에서
mongo-server-url
URL 추출을 지원합니다. 이제 컨테이너 내에서 유효한 파일 경로를 가리키는storage.docdb.mongo-server-url-path
매개변수를 사용할 수 있습니다.
1.3.2. 변경 사항 중단
이번 업데이트를 통해 더 이상 사용되지 않는
ClusterTask
리소스가 Operator에서 제거됩니다. 또는 cluster resolver를 사용하여 OpenShift Pipelines가openshift-pipelines
네임스페이스에 설치하는 작업에 액세스할 수 있습니다.중요OpenShift Pipelines 1.17로 업그레이드하기 전에
ClusterTask
리소스를 사용하는 파이프라인을 구성한 경우openshift-pipelines
네임스페이스의 작업을 사용하도록 편집해야 합니다. 그러지 않으면 업그레이드 후 파이프라인이 실패합니다.openshift-pipelines
네임스페이스의 작업을 사용하는 방법에 대한 자세한 내용은 OpenShift Pipelines 네임스페이스에 제공된 Task 를 참조하십시오.이번 업데이트를 통해 커뮤니티 클러스터 작업이 Operator에서 제거됩니다. 또는 Tekton 카탈로그 (GitHub 리소스)에서 다운로드할 수 있습니다. 커뮤니티 클러스터 작업은 향후 릴리스에서 작업으로 추가될 예정입니다. 다음 목록은 제거된 커뮤니티 클러스터 작업을 보여줍니다.
-
argocd-task-sync-and-wait
-
git-cli
-
helm-upgrade-from-repo
-
Helm-upgrade-from-source
-
jib-maven
-
kubeconfig-creator
-
pull-request
-
trigger-jenkins-job
-
1.3.3. 해결된 문제
- 이번 업데이트를 통해 푸시 이벤트 페이로드에 커밋이 없는 경우 코드 컨트롤러로 Pipeline이 더 이상 GitLab 내보내기 이벤트를 처리하지 않습니다. 대신 커밋이 연결되어 있지 않다는 것을 사용자에게 경고하는 오류 메시지가 올바르게 표시됩니다.
- 이번 업데이트를 통해 코드 컨트롤러로서의 Pipeline이 더 이상 GitLab 태그 삭제 이벤트를 처리하지 않아 컨트롤러가 충돌했습니다. 대신 태그 이벤트를 삭제해도 지원되지 않는다는 경고 메시지가 올바르게 표시됩니다.
-
이번 업데이트 이전에는 일부 표준 변수, 헤더 값 및 본문 필드(예:
body.eventKey
필드)가 Bitbucket 서버의PipelineRun
리소스에서 해결되지 않았습니다. 이번 업데이트를 통해 문제가 해결되었습니다. -
이번 업데이트를 통해
SOURCE_IMAGE_URL
및DESTINATION_IMAGE_URL
매개변수가 비어 있는 경우skopeo-copy
작업에서url.txt
파일을 사용하여 여러 이미지 복사를 지원합니다. -
이번 업데이트 이전에는 빈 리포지토리에서
tkn pac create repo
명령을 실행하면 템플릿에서 파이프라인 실행 이름으로.
period 기호가 생성되었습니다. 이번 업데이트를 통해 문제가 수정되었으며REPO_NAME.git
이 이제 파이프라인 실행 이름으로 사용됩니다. -
이번 업데이트를 통해
status.message
필드의 검증 실패를 정확하게 보고하고 작업이 검증에 실패하더라도finally
작업을 일관되게 트리거하도록 파이프라인 실행 실패 처리가 수정되었습니다. - 이번 업데이트 이전에는 메모리 부족 오류로 인해 Pod가 실패하면 작업 실행이 즉시 실패하지 않았습니다. 대신 시간이 지남에 따라 응답하지 않고 실패했습니다. 이번 업데이트를 통해 작업 실행이 즉시 실패합니다.
-
이번 업데이트 이전에는
CustomRun
리소스가 배열을 반환한 파이프라인 또는 작업 리소스를 참조하면 로그에 결과 유형 불일치가 보고되었습니다. 이번 업데이트를 통해 배열 결과가 올바르게 처리됩니다. -
이번 업데이트 이전에는 작업이 실패하면 일부 경우 task의 일부 단계 상태가
TaskRun
YAML 매니페스트에 올바르게 기록되지 않았습니다. 이번 업데이트를 통해 상태가 올바르게 기록됩니다. - 이번 업데이트 이전에는 작업의 단계가 실패한 경우 작업 실행 또는 파이프라인 실행의 YAML 매니페스트에 후속 단계가 생략된 것으로 표시되지 않는 경우가 있었습니다. 이번 업데이트를 통해 단계를 건너뛰는 것으로 표시됩니다. c
-
이번 업데이트 이전에는 검증에 실패한 작업이 파이프라인 실행에 포함된 경우 이전 작업이 실패한 후 실행되어야 하는 경우에도 후속
finally
작업이 실행되지 않았습니다. 이번 업데이트를 통해finally
작업이 실행됩니다. -
이번 업데이트 이전에는 GitLab과 함께 Pipeline을 코드로 사용할 때
.tekton
디렉터리에 20개 이상의 파일이 포함된 경우 일부 파이프라인이 시작되지 않습니다. 이번 업데이트를 통해 파이프라인 실행이 올바르게 시작됩니다. - 이번 업데이트 이전에는 BitBucket이 포함된 Pipeline을 코드로 사용할 때 BitBucket 이벤트의 잘못된 페이로드로 인해 Pipeline이 코드 컨트롤러로 충돌할 수 있었습니다. 이번 업데이트를 통해 컨트롤러가 충돌하지 않고 처리 전에 페이로드를 검증하고 오류를 올바르게 보고합니다.
- 이번 업데이트 이전에는 Pipeline을 코드로 사용할 때 파이프라인 실행이 완료되기 전에 삭제한 경우 임시 Git 인증 시크릿은 OpenShift Container Platform 네임스페이스에 남아 있었습니다. 이 문제로 인해 시크릿 할당량에 도달할 수 있으며 이 경우 새 파이프라인 실행이 시작되지 않았습니다. 이번 업데이트를 통해 코드로서의 Pipeline이 임시 시크릿을 올바르게 삭제합니다.
-
이번 업데이트 이전에는 BitBucket이 포함된 Pipeline을 코드로 사용할 때
on-target-branch
에 대해 파이프라인 실행이 구성된 경우 태그 관련 이벤트가 일치하지 않았습니다(예:on-target-branch: [refs/tags/*]
). 이는 태그와 관련된 BitBucket 이벤트 페이로드에refs/tags
접두사가 포함되어 있지 않기 때문에 발생했습니다. 이번 업데이트를 통해 코드로서의 Pipeline은 태그 이벤트와 올바르게 일치합니다. - 이번 업데이트 이전에는 작업 실행이 취소되면 Tekton 체인에서 작업의 사양을 기록하지 않았습니다. 이번 업데이트를 통해 Tekton 체인은 작업 사양을 기록합니다.
-
이번 업데이트 이전에는 Tekton 체인에서 작업의 사양에 기록된 단계(
TaskRun.Status.steps
)가 작업의 모든 단계를 올바르게 실행한 경우에도 일치하지 않을 수 있었습니다. 이번 업데이트를 통해 작업 사양의 단계 및 작업 실행에서 실행된 단계가 올바르게 기록됩니다. - 이번 업데이트 이전에는 시간 초과로 인해 파이프라인 실행이 종료될 때 로그 출력에 유효하지 않은 오류 메시지가 포함되어 있고 파이프라인 실행 상태가 올바르게 보고되지 않은 경우가 있었습니다. 이번 업데이트를 통해 이러한 메시지가 로그에 표시되지 않고 상태가 올바르게 보고됩니다.
- 이번 업데이트 이전에는 작업의 하나 또는 여러 단계에 마운트할 작업 공간을 지정하면 OpenShift Pipelines에서 작업의 모든 단계에 대한 작업 공간을 마운트했습니다. 이번 업데이트를 통해 작업 공간은 지정된 단계에서만 마운트됩니다.
- 이번 업데이트 이전에는 Pipelines를 코드로 사용할 때 OpenShift Container Platform 클러스터가 사용량이 많은 경우 동시성 큐가 주문되지 않았으며 코드가 올바르게 복구되지 않았기 때문에 일부 파이프라인 실행이 실행되지 않았습니다. 이번 업데이트를 통해 코드로서의 파이프라인은 동시성 대기열을 올바르게 관리하고 모든 파이프라인 실행을 실행합니다.
-
이번 업데이트 이전에는
TektonConfig
CR에 기본 컨테이너 리소스 요구 사항을 지정한 다음LimitRange
설정을 파이프라인 또는 작업에 적용한 경우 기본 요구 사항이 초과되어LimitRange
설정이 적용되지 않은 경우가 있었습니다. 이번 업데이트를 통해LimitRange
설정이 기본 컨테이너 리소스 요구 사항을 덮어씁니다. -
이번 업데이트 이전에는 검증 오류로 인해 파이프라인 실행 또는 작업 실행에 실패한 경우 OpenShift Pipelines는 파이프라인 실행 또는 작업 실행에 대한 일반적인
실패
상태를 기록하고 표시했습니다. 이번 업데이트를 통해 OpenShift Pipelines는Failed Validation
상태를 기록합니다. -
이번 업데이트 이전에는
tkn bundle
명령을 사용하여 대규모 Tekton 번들의 콘텐츠를 읽을 때 명령이 실패할 수 있습니다. 이번 업데이트를 통해tkn
명령줄 유틸리티에서 대규모 Tekton 번들을 올바르게 처리합니다. -
이번 업데이트 이전에는
tkn
명령줄 유틸리티를 사용하여 완료된 파이프라인 실행을 볼 때 파이프라인에 설정한 조건으로 인해 건너뛰는 작업이Succeeded(Completed)
로 표시되었습니다. 이번 업데이트를 통해 더 이상 완료로 표시되지 않습니다.
1.3.4. Red Hat OpenShift Pipelines General Availability 1.17.1 릴리스 노트
이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.17.1은 OpenShift Container Platform 4.15 이상 버전에서 사용할 수 있습니다.
1.3.4.1. 해결된 문제
-
이번 업데이트 이전에는 일반 매개변수와 매트릭스 매개변수를 모두 포함하는
매트릭스
작업을 정의한 경우tekton-pipelines-controller
구성 요소가 충돌하여 세그먼트 오류 메시지를 기록했습니다. 작업이 제거되지 않은 경우 구성 요소가 중단되고 파이프라인을 실행하지 않았습니다. 이번 업데이트를 통해 이러한 경우 컨트롤러가 더 이상 충돌하지 않습니다. - 이번 업데이트 이전에는 Tekton 체인 컨트롤러가 반복적으로 충돌하여 Tekton 체인 구성 요소를 사용할 수 없게 만드는 경우도 있습니다. 이번 업데이트를 통해 컨트롤러가 더 이상 충돌하지 않습니다.
이번 업데이트 이전에는
openshift-pipelines
네임스페이스의buildah
작업에서BUILD_EXTRA_ARGS
매개변수의 공백을 허용하지 않았습니다. 이번 업데이트를 통해buildah
작업을 통해BUILD_EXTRA_ARGS
매개변수의 공백을 전달할 수 있습니다.값에 공백이 있는 BUILD_EXTRA_ARGS 매개변수의 예
# ... - name: BUILD_EXTRA_ARGS value: '--build-arg EXAMPLE="abc def"' # ...