6.3. Red Hat OpenShift Pipelines Technology Preview 1.1 릴리스 정보

6.3.1. 새로운 기능

이제 OpenShift Container Platform 4.6에서 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 기반 ClusterTasks

수정 및 안정성 개선 사항 외에 OpenShift Pipelines 1.1의 새로운 기능도 소개합니다.

6.3.1.1. Pipeline

  • 이제 PipelineResources 대신 Workspace를 사용할 수 있습니다. PipelineResources는 디버그하기 어렵고 범위가 제한되며 Task의 재사용 가능성을 낮추기 때문에 OpenShift Pipelines에서 Workspace를 사용할 것을 권장합니다. Workspace에 대한 자세한 내용은 OpenShift Pipelines 이해를 참조하십시오.
  • VolumeClaimTemplates에 대한 Workspace 지원이 추가되었습니다.

    • 이제 PipelineRun 및 TaskRun에 대한 VolumeClaimTemplate을 Workspace의 볼륨 소스로서 추가할 수 있습니다. 그런 다음 tekton-controller가 Pipeline의 모든 TaskRun에 대해 PVC로 표시되는 템플릿을 사용하여 PVC(PersistentVolumeClaim)를 생성합니다. 따라서 여러 Task에 걸쳐 있는 Workspace를 바인드할 때마다 PVC 구성을 정의해야 합니다.
    • VolumeClaimTemplate이 볼륨 소스로 사용될 때 PersistentVolumeClaim의 이름 검색 지원에서 이제 변수 대체를 사용하여 사용할 수 있습니다.
  • 감사 개선 지원:

    • 이제 PipelineRun.Status 필드에 Pipeline의 모든 TaskRun 상태와 PipelineRun의 진행 상황을 모니터링하기 위해 PipelineRun을 인스턴스화하는 데 사용되는 Pipeline 사양이 포함됩니다.
    • Pipeline 결과가 Pipeline 사양 및 PipelineRun 상태에 추가되었습니다.
    • 이제 TaskRun.Status 필드에 TaskRun을 인스턴스화하는 데 사용되는 정확한 Task 사양이 포함됩니다.
  • Condition에 기본 매개변수 적용을 지원합니다.
  • ClusterTask를 참조하여 생성된 TaskRun이 이제 tekton.dev/task 레이블 대신 tekton.dev/clusterTask 레이블을 추가합니다.
  • 이제 kubeconfigwriter가 리소스 구조에 ClientKeyDataClientCertificateData 구성을 추가하여 Pipeline 리소스 유형 클러스터를 kubeconfig-creator Task로 교체할 수 있습니다.
  • 이제 feature-flagsconfig-defaults ConfigMap의 이름을 이제 사용자 지정할 수 있습니다.
  • 이제 TaskRun에 사용되는 PodTemplate에서 HostNetwork를 지원할 수 있습니다.
  • 이제 Affinity Assistant를 사용하여 Workspace 볼륨을 공유하는 TaskRuns에서 노드 선호도를 지원할 수 있습니다. OpenShift Pipelines에서는 기본적으로 노드 선호도가 비활성화됩니다.
  • PodTemplate이 imagePullSecrets를 지정하도록 업데이트되어 Pod를 시작할 때 컨테이너 런타임에서 컨테이너 이미지 가져오기를 승인하는 데 사용할 보안을 확인합니다.
  • 컨트롤러가 TaskRun을 업데이트하지 못하는 경우 TaskRun 컨트롤러에서 경고 이벤트를 발송하도록 지원합니다.
  • 애플리케이션 또는 구성 요소에 속하는 리소스를 식별하도록 표준 또는 권장 k8s 레이블이 모든 리소스에 추가되었습니다.
  • 이제 Entrypoint 프로세스에 신호 알림이 전송되며, 이러한 신호는 Entrypoint 프로세스의 전용 PID Group을 사용하여 전파됩니다.
  • 이제 TaskRunSpecs를 사용하여 런타임 시 Task 수준에서 PodTemplate을 설정할 수 있습니다.
  • Kubernetes 이벤트 발송 지원 :

    • 이제 컨트롤러가 추가 TaskRun 수명 주기 이벤트(taskrun startedtaskrun running)에 대한 이벤트를 발송합니다.
    • 이제 PipelineRun 컨트롤러가 Pipeline이 시작될 때마다 이벤트를 발송합니다.
  • 이제 기본 Kubernetes 이벤트 외에 TaskRuns에 대한 CloudEvents 지원도 제공됩니다. 생성, 시작 및 실패와 같은 TaskRun 이벤트를 클라우드 이벤트로서 발송하도록 컨트롤러를 구성할 수 있습니다.
  • PipelineRuns 및 TaskRuns에서 적절한 이름을 참조하도록 $context.<task|taskRun|pipeline|pipelineRun>.name 변수 사용을 지원합니다.
  • 이제 PipelineRun 매개변수에 대한 유효성 검사를 사용하여 PipelineRun에서 Pipeline에 필요한 모든 매개변수가 제공되는지 확인할 수 있습니다. 이를 통해 PipelineRuns에서 필수 매개변수 외에 추가 매개변수도 제공할 수 있습니다.
  • 이제 Pipeline YAML 파일의 finally 필드를 사용하여 모든 Task를 성공적으로 완료한 후 또는 Pipeline의 Task 중 하나가 실패한 후 Pipeline이 종료되기 전에 항상 실행될 Pipeline 내 Task를 지정할 수 있습니다.
  • 이제 git-clone ClusterTask를 사용할 수 있습니다.

6.3.1.2. Pipeline CLI

  • 이제 포함된 Trigger 바인딩 지원을 tkn evenlistener describe 명령에 사용할 수 있습니다.
  • 하위 명령을 권장하고 잘못된 하위 명령을 사용할 때 의견을 제시하는 기능을 지원합니다.
  • 이제 Pipeline에 Task가 한 개뿐인 경우 tkn task describe 명령에 의해 Task가 자동으로 선택됩니다.
  • 이제 tkn task start 명령에 --use-param-defaults 플래그를 지정하여 기본 매개변수 값으로 Task를 시작할 수 있습니다.
  • 이제 tkn pipeline start 또는 tkn task start 명령과 함께 --workspace 옵션을 사용하여 PipelineRuns 또는 TaskRuns에 대한 volumeClaimTemplate을 이제 지정할 수 있습니다.
  • 이제 tkn pipelinerun logs 명령으로 finally 섹션에 나열된 최종 Task에 대한 로그를 표시할 수 있습니다.
  • 이제 tkn task start 명령과 함께 pipeline, pipelinerun, task, taskrun, clustertaskpipelineresource와 같은 tkn 리소스에 대한 describe 하위 명령에 대화형 모드가 지원됩니다.
  • 이제 tkn version 명령으로 클러스터에 설치된 Trigger의 버전을 표시할 수 있습니다.
  • 이제 tkn pipeline describe 명령으로 Pipeline에 사용된 Task에 대해 지정된 매개변수 값과 시간초과 사항을 표시할 수 있습니다.
  • tkn pipelinerun describetkn taskrun describe 명령에 가장 최근 PipelineRun 또는 TaskRun을 각각 설명하는 --last 옵션에 대한 지원이 추가되었습니다.
  • 이제 tkn pipeline describe 명령으로 Pipeline의 Task에 적용 가능한 조건을 표시할 수 있습니다.
  • 이제 tkn resource list 명령과 함께 --no-headers--all-namespaces 플래그를 사용할 수 있습니다.

6.3.1.3. Trigger

  • 이제 다음과 같은 CEL(Common Expression Language) 기능을 사용할 수 있습니다.

    • URL의 일부를 구문 분석하고 추출하기 위한 parseURL
    • deployment WebHook의 payload 필드에 있는 문자열에 포함된 JSON 값 유형을 구문 분석하는 parseJSON
  • Bitbucket의 WebHook에 대한 새로운 인터셉터가 추가되었습니다.
  • 이제 EventListeners가 kubectl get 명령으로 나열될 때 추가 필드로 Address URLAvailable status를 표시합니다.
  • TriggerTemplate과 ResourceTemplates 매개변수 간의 혼동을 줄이기 위해 이제 TriggerTemplate 매개변수들에 $(params.<paramName>) 대신 $(tt.params.<paramName>) 구문을 사용합니다.
  • 보안 또는 관리 문제로 인해 모든 노드가 오염된 경우에도 EventListeners가 동일한 구성으로 배포되도록 EventListener CRD에 허용 오차를 추가할 수 있습니다.
  • 이제 URL/live에서 EventListener 배포에 대한 준비 프로브를 추가할 수 있습니다.
  • EventListener Trigger에 TriggerBinding 사양 포함 지원
  • 이제 권장 app.kubernetes.io 레이블을 사용하여 Trigger 리소스에 주석을 삽입할 수 있습니다.