1.12. Red Hat OpenShift Pipelines General Availability 1.5 릴리스 정보
Red Hat OpenShift Pipelines General Availability (GA) 1.5는 이제 OpenShift Container Platform 4.8에서 사용할 수 있습니다.
1.12.1. 호환성 및 지원 매트릭스 링크 복사링크가 클립보드에 복사되었습니다!
이 릴리스의 일부 기능은 현재 기술 프리뷰 상태입니다. 이러한 실험적 기능은 프로덕션용이 아닙니다.
아래 표에서 기능은 다음과 같은 상태로 표시되어 있습니다.
| TP | 기술 프리뷰 |
| GA | 정식 출시일 (GA) |
해당 기능은 Red Hat Customer Portal의 지원 범위를 참조하십시오.
| 기능 | 버전 | 지원 상태 |
|---|---|---|
| Pipeline | 0.24 | GA |
| CLI | 0.19 | GA |
| 카탈로그 | 0.24 | GA |
| Trigger | 0.14 | TP |
| 파이프 라인 리소스 | - | TP |
질문이나 의견이 있으시면 제품팀에 이메일(pipelines-interest@redhat.com)로 보내주시기 바랍니다.
1.12.2. 새로운 기능 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.5의 새로운 기능도 소개합니다.
대상 네임스페이스의 cron 작업으로 파이프라인 실행 및 작업 실행이 자동으로 제거됩니다. cron 작업에서는
IMAGE_JOB_PRUNER_TKN환경 변수를 사용하여tkn image값을 가져옵니다. 이번 개선된 기능을 통해TektonConfig사용자 정의 리소스에 다음 필드가 도입되었습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform에서는
TektonConfig사용자 정의 리소스의 새 매개변수clusterTasks및pipelinesTemplates값을 수정하여 Tekton 애드온 구성 요소의 설치를 사용자 지정할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정은
TektonConfig를 사용하여 애드온을 만들거나 Techton 애드온을 사용하여 직접 만드는 경우에 허용됩니다. 그러나 매개 변수가 전달되지 않으면 컨트롤러는 기본값을 사용하여 매개 변수를 추가합니다.참고-
TektonConfig사용자 지정 리소스를 사용하여 추가 기능이 생성되고Addon사용자 정의 리소스의 뒷부분에서 매개변수 값을 변경하면TektonConfig사용자 지정 리소스의 값이 변경 사항을 덮어씁니다. -
clusterTasks매개변수 값이true인 경우에만pipelinesTemplates매개변수의 값을true로 설정할 수 있습니다.
-
enableMetrics매개변수는TektonConfig사용자 지정 리소스에 추가됩니다. 이를 사용하여 OpenShift Container Platform용 Tekton Pipelines의 일부인 서비스 모니터를 비활성화할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 프로세스 수준에서 메트릭을 캡처하는 EventListener OpenCensus 메트릭이 추가되었습니다.
- 트리거에 레이블 선택기가 있습니다. 레이블을 사용하여 이벤트 리스너에 대한 트리거를 구성할 수 있습니다.
인터셉터 등록에 대한
ClusterInterceptor사용자 정의 리소스 정의가 추가되어 연결할 수 있는 새로운Interceptor유형을 등록할 수 있습니다. 또한 다음과 같은 관련 변경 사항이 적용됩니다.-
트리거 사양에서는 클러스터 인터셉터를 참조하기 위해
ref필드를 포함하는 새 API를 사용하여 인터셉터를 구성할 수 있습니다. 또한params필드를 사용하여 처리를 위해 인터셉터에 전달되는 매개변수를 추가할 수 있습니다. -
번들 인터셉터 CEL, GitHub, GitLab, BitBucket이 마이그레이션되었습니다. 새
ClusterInterceptor사용자 정의 리소스 정의를 사용하여 구현됩니다. -
코어 인터셉터는 새 형식으로 마이그레이션되고 이전 구문을 사용하여 생성된 새 트리거가 새
ref또는params기반 구문으로 자동 전환됩니다.
-
트리거 사양에서는 클러스터 인터셉터를 참조하기 위해
-
로그를 표시하는 동안 작업 이름 또는 단계의 접두사를 비활성화하려면
log명령에--prefix옵션을 사용합니다. -
특정 구성 요소의 버전을 표시하려면
tkn version명령에서 새--component플래그를 사용합니다. -
tkn hub check-upgrade명령이 추가되고 파이프라인 버전을 기반으로 다른 명령이 수정되었습니다. 또한search명령 출력에 카탈로그 이름이 표시됩니다. -
선택적 작업 공간에 대한 지원이
start명령에 추가됩니다. -
plugins디렉토리에 플러그인이 없으면 현재 경로에서 검색됩니다. tkn start [task | clustertask | pipeline]명령은 대화식으로 시작하고 기본 매개변수를 지정하는 경우에도params값을 요청합니다. 대화식 프롬프트를 중지하려면 명령을 호출할 때--use-param-defaults플래그를 전달합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
version필드는tkn task describe명령에 추가됩니다. -
TriggerTemplate또는TriggerBinding또는ClusterTriggerBinding또는Eventlistener와 같은 리소스를 자동으로 선택하는 옵션은 하나만 있는 경우describe명령에 추가됩니다. -
tkn pr describe명령에 건너뛰는 작업의 섹션이 추가됩니다. -
tkn clustertask logs에 대한 지원이 추가되었습니다. -
config.yaml에서 YAML 병합 및 변수가 제거됩니다. 또한kustomize및ytt와 같은 툴에서release.yaml파일을 더 쉽게 사용할 수 있습니다. - 리소스 이름에 점 문자(".")가 포함되도록 지원이 추가되었습니다.
-
PodTemplate사양의hostAliases어레이는 호스트 이름 확인의 Pod 수준 재정의에 추가됩니다. 이를 위해/etc/hosts파일을 수정합니다. -
$(tasks.status)변수가 도입되어 작업의 집계 실행 상태에 액세스합니다. - Windows용 진입점 바이너리 빌드가 추가되었습니다.
1.12.3. 더 이상 사용되지 않는 기능 링크 복사링크가 클립보드에 복사되었습니다!
when표현식에서 작성된 필드에 대한 지원에서는 PascalCase가 제거되었습니다.when표현식은 소문자로 작성된 필드만 지원합니다.참고Tekton Pipelines
v0.16(Operator v)에서1.2.xwhen표현식과 함께 파이프라인을 적용한 경우 다시 적용해야 합니다.Red Hat OpenShift Pipelines Operator를
v1.5로 업그레이드하면openshift-client및openshift-client-v-1-5-0클러스터 작업에SCRIPT매개변수가 있습니다. 그러나ARGS매개변수와git리소스는openshift-client클러스터 작업의 사양에서 제거됩니다. 이는 중단된 변경 사항이며ClusterTask리소스의name필드에 특정 버전이 없는 클러스터 작업만 원활하게 업그레이드됩니다.파이프라인 실행이 중단되지 않도록 하려면 업그레이드 후
ARGS매개변수에 지정된 값을 클러스터 작업의SCRIPT매개변수로 이동하기 때문에SCRIPT매개변수를 사용합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Pipelines Operator
v1.4에서v1.5로 업그레이드하면TektonConfig사용자 정의 리소스가 설치된 프로필 이름이 변경됩니다.Expand 표 1.5. TektonConfig 사용자 정의 리소스의 프로필 Pipeline 1.5의 프로필 Pipelines 1.4의 해당 프로필 설치된 Tekton 구성 요소 모두(기본 프로필)
모두(기본 프로필)
파이프라인, 트리거, 애드온
Basic
Default
파이프라인, 트리거
Lite
Basic
파이프라인
참고TektonConfig사용자 정의 리소스의config인스턴스에서profile: all을 사용한 경우 리소스 사양을 변경할 필요가 없습니다.그러나 설치된 Operator가 업그레이드 전에 Default 또는 Basic 프로필에 있는 경우 업그레이드 후
TektonConfig사용자 정의 리소스의config인스턴스를 편집해야 합니다. 예를 들어 구성이 업그레이드 전에profile: basic인 경우 Pipelines 1.5로 업그레이드한 후profile: lite인지 확인합니다.disable-home-env-overwrite및disable-working-dir-overwrite필드는 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다. 이번 릴리스에서는 이전 버전과의 호환성을 위해 이러한 플래그의 기본값이true로 설정됩니다.참고다음 릴리스에서는
HOME환경 변수가 자동으로/tekton/home으로 설정되지 않으며 작업 실행을 위해 기본 작업 디렉터리가/workspace로 설정되지 않습니다. 이러한 기본값은 단계의 이미지 Dockerfile로 설정된 값과 충돌합니다.-
ServiceType및podTemplate필드는EventListener사양에서 제거됩니다. - 컨트롤러 서비스 계정은 더 이상 네임스페이스를 나열하고 감시하기 위한 클러스터 전체 권한을 요청하지 않습니다.
EventListener리소스의 상태에는Ready라는 새로운 조건이 있습니다.참고나중에
EventListener리소스의 기타 상태 조건이 더 이상 사용되지 않고Ready상태 조건이 사용됩니다.-
EventListener응답의eventListener및namespace필드는 더 이상 사용되지 않습니다. 대신eventListenerUID필드를 사용합니다. replicas필드는EventListener사양에서 더 이상 사용되지 않습니다. 대신spec.replicas필드가KubernetesResource사양의spec.resources.kubernetesResource.replicas로 이동됩니다.참고replicas필드는 향후 릴리스에서 제거됩니다.-
코어 인터셉터를 구성하는 이전 방법은 더 이상 사용되지 않습니다. 그러나 향후 릴리스에서 제거될 때까지 계속 작동합니다. 대신
Trigger리소스의 인터셉터가 새로운ref및params기반 구문을 사용하여 구성됩니다. 결과 기본 웹훅은 새 트리거에 대해 이전 구문의 사용법을 새 구문으로 자동 전환합니다. -
ClusterRoleBinding리소스에 대해 더 이상 사용되지않는rbac.authorization.k8s.io/v1beta1대신rbac.authorization.k8s.io/v1을 사용합니다. -
클러스터 역할에서는
serviceaccounts,secrets,configmaps,limitranges와 같은 리소스에 대한 클러스터 전체 쓰기 권한이 제거됩니다. 또한deployments,statefulsets,deployment/finalizers와 같은 리소스에 대한 클러스터 전체 액세스도 제거됩니다. -
caching.internal.knative.dev그룹의image사용자 지정 리소스 정의는 Tekton에서 더 이상 사용하지 않으며 이 릴리스에서 제외되었습니다.
1.12.4. 확인된 문제 링크 복사링크가 클립보드에 복사되었습니다!
git-cli 클러스터 작업은
/root가 사용자의 홈 디렉터리로 예상되는 alpine/git 기본 이미지에서 빌드됩니다. 그러나git-cli클러스터 작업에는 명시적으로 설정되어 있지 않습니다.Tekton에서 달리 지정하지 않는 한, Tekton에서 기본 홈 디렉토리는 작업의 모든 단계에 대해
/tekton/home으로 덮어씁니다. 기본 이미지의$HOME환경 변수를 덮어쓰면git-cli클러스터 작업이 실패합니다.이 문제는 다음 릴리스에서 수정될 예정입니다. Red Hat OpenShift Pipelines 1.5 및 이전 버전의 경우 다음 해결 방법 중 하나를 사용하여
git-cli클러스터 작업이 실패하지 않도록 할 수 있습니다.단계에서
$HOME환경 변수를 설정하여 덮어쓰지 않도록 합니다.-
[선택 사항] Operator를 사용하여 Red Hat OpenShift Pipelines를 설치한 경우
git-cli클러스터 작업을 별도의 작업에 복제합니다. 이 방법을 사용하면 Operator에서 클러스터 작업의 변경 사항을 덮어쓰지 않습니다. -
oc edit clustertasks git-cli명령을 실행합니다. 예상되는
HOME환경 변수를 단계 YAML에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의Operator가 설치한 Red Hat OpenShift Pipelines의 경우
HOME환경 변수를 변경하기 전에git-cli클러스터 작업을 별도의 작업으로 복제하지 않으면 Operator 조정 중에 변경 사항을 덮어씁니다.
-
[선택 사항] Operator를 사용하여 Red Hat OpenShift Pipelines를 설치한 경우
feature-flags구성 맵에서HOME환경 변수 덮어쓰기를 비활성화합니다.-
oc edit -n openshift-pipelines configmap feature-flags명령을 실행합니다. disable-home-env-overwrite플래그 값을true로 설정합니다.주의- Operator를 사용하여 Red Hat OpenShift Pipelines를 설치한 경우 Operator 조정 중에 변경 사항을 덮어씁니다.
-
disable-home-env-overwrite플래그의 기본값을 수정하면 모든 작업의 기본 동작을 변경하므로 다른 작업과 클러스터 작업이 중단될 수 있습니다.
-
파이프라인의 기본 서비스 계정이 사용될 때
HOME환경 변수의 덮어쓰기가 수행되므로git-cli클러스터 작업에 다른 서비스 계정을 사용합니다.- 새로운 서비스 계정을 생성합니다.
- 생성한 서비스 계정에 Git 시크릿을 연결합니다.
- 작업 또는 파이프라인을 실행하는 동안 서비스 계정을 사용합니다.
-
IBM Power Systems, IBM Z 및 LinuxONE에서
s2i-dotnet클러스터 작업 및tkn hub명령은 지원되지 않습니다. -
Maven 및 Jib-Maven 클러스터 작업을 실행하면 기본 컨테이너 이미지가 Intel(x86) 아키텍처에서만 지원됩니다. 따라서 IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x) 클러스터에서 작업이 실패합니다. 이 문제를 해결하려면
MAVEN_IMAGE매개변수 값을maven:3.6.3-adoptopenjdk-11으로 설정하여 사용자 지정 이미지를 지정할 수 있습니다.
1.12.5. 해결된 문제 링크 복사링크가 클립보드에 복사되었습니다!
-
dag작업의when표현식은 다른 작업의 실행상태 ($(tasks.<pipelineTask>.status))에 액세스하는 컨텍스트 변수를 지정할 수 없습니다. -
PipelineRun리소스가 신속하게 삭제되고 다시 생성되는 경우volumeClaimTemplatePVC를 삭제하여 생성된 경쟁 조건을 방지할 수 있으므로 소유자 이름 대신 소유자 UID를 사용합니다. -
루트가 아닌 사용자가 트리거한
build-base이미지의pullrequest-init에 대한 새 Dockerfile이 추가됩니다. -
파이프라인 또는 작업을
-f옵션으로 실행하고 정의의param에type이 정의되지 않은 경우 파이프라인 또는 작업 실행이 자동으로 실패하는 대신 유효성 검사 오류가 생성됩니다. -
tkn start [task | pipeline | clustertask]명령의 경우--workspace플래그에 대한 설명이 일관되게 표시됩니다. - 매개 변수를 구문 분석하는 동안 빈 배열이 발생하는 경우 해당 대화형 도움말이 빈 문자열로 표시됩니다.