1.17. Red Hat OpenShift Pipelines Technology Preview 1.1 릴리스 정보
1.17.1. 새로운 기능
이제 OpenShift Container Platform 4.5에서 Red Hat OpenShift Pipelines TP(Technology Preview) 1.1을 사용할 수 있습니다. 다음을 지원하도록 Red Hat OpenShift Pipelines TP 1.1이 업데이트되었습니다.
- Tekton Pipelines 0.14.3
-
Tekton
tkn
CLI 0.11.0 - Tekton Triggers 0.6.1
- Tekton Catalog 0.14 기반 클러스터 작업
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.1의 새로운 기능도 소개합니다.
1.17.1.1. 파이프라인
- 이제 파이프라인 리소스 대신 작업 공간을 사용할 수 있습니다. 파이프라인 리소스는 디버그하기 어렵고 범위가 제한되며 작업의 재사용 가능성을 낮추기 때문에 OpenShift Pipelines에서 작업 공간을 사용할 것을 권장합니다. 작업 공간에 대한 자세한 내용은 OpenShift Pipelines 이해 섹션을 참조하십시오.
볼륨 클레임 템플릿에 대한 작업 공간 지원이 추가되었습니다.
- 이제 파이프 라인 실행 및 작업 실행에 대한 볼륨 클레임 템플릿을 작업 공간의 볼륨 소스로서 추가할 수 있습니다. 그런 다음 tekton-controller가 파이프라인의 모든 작업 실행에 대해 PVC로 표시되는 템플릿을 사용하여 PVC(PersistentVolumeClaim)를 생성합니다. 따라서 여러 Task에 걸쳐 있는 작업 공간을 바인드할 때마다 PVC 구성을 정의해야 합니다.
- 볼륨 클레임 템플릿이 볼륨 소스로 사용될 때 PVC의 이름 검색 지원에서 이제 변수 대체를 사용할 수 있습니다.
감사 개선 지원:
-
이제
PipelineRun.Status
필드에 파이프라인의 모든 작업 실행 상태와 파이프라인 실행의 진행 상황을 모니터링하기 위해 파이프라인 실행을 인스턴스화하는 데 사용되는 파이프라인 사양이 포함됩니다. -
Pipeline 결과가 Pipeline 사양 및
PipelineRun
상태에 추가되었습니다. -
이제
TaskRun.Status
필드에TaskRun
리소스를 인스턴스화하는 데 사용되는 정확한 작업 사양이 포함됩니다.
-
이제
- 조건에 기본 매개변수 적용을 지원합니다.
-
클러스터 작업을 참조하여 생성된 작업 실행이 이제
tekton.dev/task
레이블 대신tekton.dev/clusterTask
레이블을 추가합니다. -
이제 kubeconfigwriter가 리소스 구조에
ClientKeyData
및ClientCertificateData
구성을 추가하여 파이프라인 리소스 유형 클러스터를 kubeconfig-creator 작업으로 교체할 수 있습니다. -
이제
feature-flags
및config-defaults
구성 맵의 이름을 이제 사용자 지정할 수 있습니다. - 작업 실행에서 사용하는 pod 템플릿에서 호스트 네트워크에 대한 지원을 사용할 수 있습니다.
- 이제 Affinity Assistant를 사용하여 작업 공간 볼륨을 공유하는 작업 실행에서 노드 선호도를 지원할 수 있습니다. OpenShift Pipelines에서는 기본적으로 노드 선호도가 비활성화됩니다.
-
Pod 템플릿이
imagePullSecrets
를 지정하도록 업데이트되어 Pod를 시작할 때 컨테이너 런타임에서 컨테이너 이미지 가져오기를 승인하는 데 사용할 보안을 확인합니다. - 컨트롤러가 작업 실행을 업데이트하지 못하는 경우 작업 실행 컨트롤러에서 경고 이벤트를 발송하도록 지원합니다.
- 애플리케이션 또는 구성 요소에 속하는 리소스를 식별하도록 표준 또는 권장 k8s 레이블이 모든 리소스에 추가되었습니다.
-
이제
Entrypoint
프로세스에 신호 알림이 전송되며, 이러한 신호는Entrypoint
프로세스의 전용 PID Group을 사용하여 전파됩니다. - 이제 작업 실행 사양을 사용하여 런타임에 작업 수준에서 pod 템플릿을 설정할 수 있습니다.
Kubernetes 이벤트 발송 지원 :
-
이제 컨트롤러가 추가 작업 실행 수명 주기 이벤트(
taskrun started
및taskrun running)
에 대한 이벤트를 발송합니다. - 이제 파이프라인 실행 컨트롤러가 파이프라인이 시작될 때마다 이벤트를 발송합니다.
-
이제 컨트롤러가 추가 작업 실행 수명 주기 이벤트(
- 이제 기본 Kubernetes 이벤트 외에 작업 실행에 대한 클라우드 이벤트 지원도 제공됩니다. 생성, 시작 및 실패와 같은 작업 실행 이벤트를 클라우드 이벤트로서 발송하도록 컨트롤러를 구성할 수 있습니다.
-
파이프라인 실행 및 작업 실행에서 적절한 이름을 참조하도록
$context.<task|taskRun|pipeline|pipelineRun>.name
변수 사용을 지원합니다. - 이제 파이프라인 실행 매개변수에 대한 유효성 검사를 사용하여 파이프라인 실행에서 파이프라인에 필요한 모든 매개변수가 제공되는지 확인할 수 있습니다. 이를 통해 파이프라인 실행에서 필수 매개변수 외에 추가 매개변수도 제공할 수 있습니다.
-
이제 파이프라인 YAML 파일의
finally
필드를 사용하여 모든 작업을 성공적으로 완료한 후 또는 파이프라인의 작업 중 하나가 실패한 후 파이프라인이 종료되기 전에 항상 실행될 파이프라인 내 작업을 지정할 수 있습니다. -
이제
git-clone
클러스터 작업을 사용할 수 있습니다.
1.17.1.2. Pipeline CLI
-
이제 포함된 트리거 바인딩 지원을
tkn evenlistener describe
명령에 사용할 수 있습니다. - 하위 명령을 권장하고 잘못된 하위 명령을 사용할 때 의견을 제시하는 기능을 지원합니다.
-
이제 파이프라인에 작업이 한 개뿐인 경우
tkn task describe
명령에 의해 작업이 자동으로 선택됩니다. -
이제
tkn task start
명령에--use-param-defaults
플래그를 지정하여 기본 매개변수 값으로 작업을 시작할 수 있습니다. -
이제
tkn pipeline start
또는tkn task start
명령과 함께--workspace
옵션을 사용하여 파이프라인 실행 또는 작업 실행에 대한 볼륨 클레임 템플릿을 지정할 수 있습니다. -
이제
tkn pipelinerun logs
명령으로finally
섹션에 나열된 최종 Task에 대한 로그를 표시할 수 있습니다. -
이제
tkn task start
명령과 함께pipeline
,pipelinerun
,task
,taskrun
,clustertask
,pipelineresource
와 같은tkn
리소스에 대한describe
하위 명령에 대화형 모드가 지원됩니다. -
이제
tkn version
명령으로 클러스터에 설치된 트리거의 버전을 표시할 수 있습니다. -
이제
tkn pipeline describe
명령으로 파이프라인에 사용된 작업에 대해 지정된 매개변수 값과 시간초과 사항을 표시할 수 있습니다. -
tkn pipelinerun describe
및tkn taskrun describe
명령에 가장 최근 파이프라인 실행 또는 작업 실행을 각각 설명하는--last
옵션에 대한 지원이 추가되었습니다. -
이제
tkn pipeline describe
명령으로 파이프라인의 작업에 적용 가능한 조건을 표시할 수 있습니다. -
이제
tkn resource list
명령과 함께--no-headers
및--all-namespaces
플래그를 사용할 수 있습니다.
1.17.1.3. Trigger
이제 다음과 같은 CEL(Common Expression Language) 기능을 사용할 수 있습니다.
-
URL의 일부를 구문 분석하고 추출하기 위한
parseURL
-
deployment
WebHook의payload
필드에 있는 문자열에 포함된 JSON 값 유형을 구문 분석하는parseJSON
-
URL의 일부를 구문 분석하고 추출하기 위한
- Bitbucket의 WebHook에 대한 새로운 인터셉터가 추가되었습니다.
-
이제 이벤트 리스너가
kubectl get
명령으로 나열될 때 추가 필드로Address URL
및Available status
를 표시합니다. -
트리거 템플릿과 리소스 템플릿 매개변수 간의 혼동을 줄이기 위해 이제 트리거 템플릿 매개변수에
$(params.<paramName>)
대신$(tt.params.<paramName>)
구문을 사용합니다. -
보안 또는 관리 문제로 인해 모든 노드가 오염된 경우에도 이벤트 리스너가 동일한 구성으로 배포되도록
EventListener
CRD에tolerations
를 추가할 수 있습니다. -
이제
URL/live
에서 이벤트 리스너 배포에 대한 준비 프로브를 추가할 수 있습니다. -
이벤트 리스너 트리거에
TriggerBinding
사양을 포함하기 위한 지원이 추가되었습니다. -
이제 권장
app.kubernetes.io
레이블을 사용하여 Trigger 리소스에 주석을 삽입할 수 있습니다.
1.17.2. 사용되지 않는 기능
이 릴리스에서는 더 이상 사용되지 않은 기능은 다음과 같습니다.
-
clustertask
및clustertriggerbinding
명령을 포함하여 모든 클러스터 단위 명령에--namespace
또는-n
플래그는 더 이상 사용되지 않습니다. 향후 릴리스에서 제거됩니다. -
이벤트 리스너 내
triggers.bindings
의name
필드가 더 이상 사용되지 않고 향후 릴리스에서 제거될 것이며ref
필드 사용을 권장합니다. -
파이프라인 변수 보간 구문과 혼동을 줄이기 위해
$(params)
를 사용한 트리거 템플릿의 변수 보간은 더 이상 사용되지 않고,$(tt.params)
사용을 권장합니다.$(params.<paramName>)
구문은 향후 릴리스에서 제거됩니다. -
클러스터 작업에서
tekton.dev/task
레이블이 더 이상 사용되지 않습니다. -
TaskRun.Status.ResourceResults.ResourceRef
필드가 더 이상 사용되지 않으며 제거됩니다. -
tkn pipeline create
,tkn task create
및tkn resource create -f
하위 명령이 제거되었습니다. -
tkn
명령에서 네임스페이스 유효성 검사가 제거되었습니다. -
기본 시간 초과
1h
와tkn ct start
명령에 대한-t
플래그가 제거되었습니다. -
s2i
클러스터 작업이 더 이상 사용되지 않습니다.
1.17.3. 확인된 문제
- 조건에서 작업 공간을 지원하지 않습니다.
-
tkn clustertask start
명령에--workspace
옵션과 대화형 모드가 지원되지 않습니다. -
$(params.<paramName>)
구문의 역호환성 지원에 따라 파이프라인 특정 매개변수와 함께 트리거 템플릿을 사용하도록 수정되었습니다. 이는 트리거 WebHook에서 트리거 매개변수를 파이프라인 매개변수와 구별할 수 없기 때문입니다. -
tekton_taskrun_count
및tekton_taskrun_duration_seconds_count
에 대한 promQL 쿼리를 실행할 때 Pipeline 메트릭이 잘못된 값을 보고합니다. -
작업 공간에 제공된 기존 PVC 이름이 없는 경우에도 파이프라인 실행 및 작업 실행이
Running
및Running(Pending)
상태를 각각 유지합니다.
1.17.4. 해결된 문제
-
이전에는 작업과 클러스터 작업 이름이 동일할 때
tkn task delete<name>--trs
명령으로 작업과 클러스터 작업이 모두 삭제되었습니다. 이번 수정에서는 이 명령으로 작업<name>
에 의해 생성된 작업 실행만 삭제됩니다. -
이전에는
tkn pr delete -p<name>--keep 2
명령을--keep
플래그와 함께 사용할 때-p
플래그가 무시되고 최근 두 개를 제외한 모든 파이프라인 실행이 삭제되었습니다. 이번 수정에서는 이 명령으로 최근 두 개를 제외하고 파이프라인<name>
에 의해 생성된 파이프라인 실행만 삭제됩니다. -
이제
tkn triggertemplate describe
출력에 YAML 형식 대신 테이블 형식으로 리소스 템플릿이 표시됩니다. -
전에는 컨테이너에 새 사용자를 추가할 때
buildah
클러스터 작업이 실패했습니다. 수정판에서는 이러한 문제가 해결되었습니다.