4장. Pipeline
4.1. Red Hat OpenShift Pipelines 릴리스 정보
Red Hat OpenShift Pipelines는 다음을 제공하는 Tekton 프로젝트를 기반으로 하는 클라우드 네이티브 CI/CD 환경입니다.
- 표준 CRD(Kubernetes 네이티브 Pipeline 정의)
- CI 서버 관리 오버헤드가 없는 서버리스 Pipeline
- S2I, Buildah, JIB 및 Kaniko와 같은 Kubernetes 도구를 사용하여 이미지를 빌드할 수 있는 확장성
- 모든 Kubernetes 배포판에서 이식성
- Pipeline과 상호 작용하기 위한 강력한 CLI
- OpenShift Container Platform 웹 콘솔의 개발자 화면과 통합된 사용자 경험
Red Hat OpenShift Pipelines 개요는 OpenShift Pipelines 이해를 참조하십시오.
4.1.1. 보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
4.1.2. Red Hat OpenShift Pipelines General Availability 1.5 릴리스 정보
Red Hat OpenShift Pipelines General Availability (GA) 1.5는 이제 OpenShift Container Platform 4.8에서 사용할 수 있습니다.
4.1.2.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)로 보내주시기 바랍니다.
4.1.2.2. 새로운 기능
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.5의 새로운 기능도 소개합니다.
대상 네임스페이스의 cron 작업으로 파이프라인 실행 및 작업 실행이 자동으로 제거됩니다. cron 작업에서는
IMAGE_JOB_PRUNER_TKN
환경 변수를 사용하여tkn image
값을 가져옵니다. 이번 개선된 기능을 통해TektonConfig
사용자 정의 리소스에 다음 필드가 도입되었습니다.... pruner: resources: - pipelinerun - taskrun schedule: "*/5 * * * *" # cron schedule keep: 2 # delete all keeping n ...
OpenShift Container Platform에서는 Tekton
Config 사용자 정의 리소스의 새 매개변수
Add-ons 구성 요소 설치를 사용자 지정할 수 있습니다.clusterTasks 및
값을 수정하여 TektonpipelinesTemplates
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: profile: all targetNamespace: openshift-pipelines addon: params: - name: clusterTasks value: "true" - name: pipelineTemplates value: "true" ...
사용자 지정은
TektonConfig
를 사용하여 애드온을 만들거나 Techton 애드온을 사용하여 직접 만드는 경우에 허용됩니다. 그러나 매개 변수가 전달되지 않으면 컨트롤러는 기본값을 사용하여 매개 변수를 추가합니다.참고-
TektonConfig
사용자 지정 리소스를 사용하여 추가 기능이 생성되고Addon
사용자 정의 리소스의 뒷부분에서 매개변수 값을 변경하면TektonConfig
사용자 지정 리소스의 값이 변경 사항을 덮어씁니다. -
clusterTasks
매개변수 값이true
인 경우에만pipelinesTemplates
매개변수의 값을true
로 설정할 수 있습니다.
-
enableMetrics
매개변수는TektonConfig
사용자 지정 리소스에 추가됩니다. 이를 사용하여 OpenShift Container Platform용 Tekton Pipelines의 일부인 서비스 모니터를 비활성화할 수 있습니다.apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: profile: all targetNamespace: openshift-pipelines pipeline: params: - name: enableMetrics value: "true" ...
- 프로세스 수준에서 메트릭을 캡처하는 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
플래그를 전달합니다. 예를 들면 다음과 같습니다.$ tkn pipeline start build-and-deploy \ -w name=shared-workspace,volumeClaimTemplateFile=https://raw.githubusercontent.com/openshift/pipelines-tutorial/pipelines-1.5/01_pipeline/03_persistent_volume_claim.yaml \ -p deployment-name=pipelines-vote-api \ -p git-url=https://github.com/openshift/pipelines-vote-api.git \ -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/pipelines-vote-api \ --use-param-defaults
-
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용 진입점 바이너리 빌드가 추가되었습니다.
4.1.2.3. 더 이상 사용되지 않는 기능
when
표현식에서 작성된 필드에 대한 지원에서는 PascalCase가 제거되었습니다.when
표현식은 소문자로 작성된 필드만 지원합니다.참고Tekton Pipelines
v0.16(Operator v
)에서1.2.x
when
표현식과 함께 파이프라인을 적용한 경우 다시 적용해야 합니다.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
매개변수를 사용합니다. 예를 들면 다음과 같습니다.... - name: deploy params: - name: SCRIPT value: oc rollout status <deployment-name> runAfter: - build taskRef: kind: ClusterTask name: openshift-client ...
Red Hat OpenShift Pipelines Operator
v1.4
에서v1.5
로 업그레이드하면TektonConfig
사용자 정의 리소스가 설치된 프로필 이름이 변경됩니다.표 4.2. 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에서 더 이상 사용하지 않으며 이 릴리스에서 제외되었습니다.
4.1.2.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에 추가합니다.... steps: - name: git env: - name: HOME value: /root image: $(params.BASE_IMAGE) workingDir: $(workspaces.source.path) ...
주의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
명령은 지원되지 않습니다. -
IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x) 클러스터에서 Maven 및 Jib-Maven 클러스터 작업을 실행하는 경우
MAVEN_IMAGE
매개변수 값을maven:3.6.3-adoptopenjdk-11
으로 설정합니다.
4.1.2.5. 해결된 문제
-
dag
작업의when
표현식은 다른 작업의 실행상태 ($(tasks.<pipelineTask>.status)
)에 액세스하는 컨텍스트 변수를 지정할 수 없습니다. -
PipelineRun
리소스가 신속하게 삭제되고 다시 생성되는 경우volumeClaimTemplate
PVC를 삭제하여 생성된 경쟁 조건을 방지할 수 있으므로 소유자 이름 대신 소유자 UID를 사용합니다. -
루트가 아닌 사용자가 트리거한
build-base
이미지의pullrequest-init
에 대한 새 Dockerfile이 추가됩니다. -
파이프라인 또는 작업을
-f
옵션으로 실행하고 정의의param
에type
이 정의되지 않은 경우 파이프라인 또는 작업 실행이 자동으로 실패하는 대신 유효성 검사 오류가 생성됩니다. -
tkn start [task | pipeline | clustertask]
명령의 경우--workspace
플래그에 대한 설명이 일관되게 표시됩니다. - 매개 변수를 구문 분석하는 동안 빈 배열이 발생하는 경우 해당 대화형 도움말이 빈 문자열로 표시됩니다.
4.1.3. 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 릴리스에서 제거됩니다.
4.1.3.1. 호환성 및 지원 매트릭스
이 릴리스의 일부 기능은 현재 기술 프리뷰 단계에 있습니다. 이러한 실험적 기능은 프로덕션용이 아닙니다.
아래 표에서 기능은 다음 상태로 표시됩니다.
- TP: 기술 프리뷰
- GA: 정식 출시일 (GA)
해당 기능은 Red Hat Customer Portal의 지원 범위를 참조하십시오.
기능 | 버전 | 지원 상태 |
---|---|---|
파이프라인 | 0.22 | GA |
CLI | 0.17 | GA |
카탈로그 | 0.22 | GA |
Trigger | 0.12 | TP |
파이프 라인 리소스 | - | TP |
질문이나 의견이 있으시면 제품팀에 이메일(pipelines-interest@redhat.com)로 보내주시기 바랍니다.
4.1.3.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
4.1.3.3. 사용되지 않는 기능
-
파이프라인 리소스 스토리지의
build-gcs
하위 유형과gcs-fetcher
이미지는 지원되지 않습니다. -
클러스터 작업의
taskRun
필드에서tekton.dev/task
레이블이 제거됩니다. -
Webhook의 경우
admissionReviewVersions
필드에 해당하는v1beta1
값이 제거됩니다. -
빌드 및 배포를 위한
creds-init
도우미 이미지가 제거됩니다. 트리거 사양 및 바인딩에서는
template.ref
를 사용하도록 더 이상 사용되지 않는 필드template.name
이 제거됩니다.ref
필드를 사용하려면 모든eventListener
정의를 업데이트해야 합니다.참고Pipelines 1.3.x 및 이전 버전에서 Pipelines 1.4.0으로 업그레이드하면
template.name
필드의 사용할 수 없으므로 이벤트 리스너가 중단됩니다. 이러한 경우 Pipelines 1.4.1을 사용하여 복원된template.name
필드를 사용할 수 있습니다.-
EventListener
사용자 정의 리소스/개체의 경우Resource
가 사용되며PodTemplate
및ServiceType
필드는 더 이상 사용되지 않습니다. - 더 이상 사용되지 않는 사양 스타일 내장 바인딩이 제거됩니다.
-
spec
필드는triggerSpecBinding
에서 제거됩니다. - 이벤트 ID 표현은 5자의 임의의 문자열에서 UUID로 변경됩니다.
4.1.3.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"
-
트리거 v0.11.0 이상을 사용하는 경우
- Pipelines 1.3.x에서 1.4.x로 업그레이드하는 경우 경로를 다시 생성해야 합니다.
4.1.3.5. 해결된 문제
-
이전에는 클러스터 작업의 작업 실행에서
tekton.dev/task
레이블이 제거되었으며tekton.dev/clusterTask
레이블이 도입되었습니다. 해당 변경으로 인한 문제는clustertask describe
및delete
명령을 수정하여 해결됩니다. 또한 작업의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
명령이 템플릿 없이 충돌하지 않도록 수정되었습니다. 트리거 참조에 대한 세부 정보도 표시합니다. -
Pipelines 1.3.x 및 이전 버전에서 Pipelines 1.4.0으로 업그레이드하면
template.name
이 사용할 수 없으므로 이벤트 리스너가 중단됩니다. Pipelines 1.4.1에서는 트리거에서 이벤트 리스너 중단을 방지하기 위해template.name
이 복원되었습니다. -
Pipelines 1.4.1에서는 OpenShift Container Platform 4.7 기능 및 동작에 맞게
ConsoleQuickStart
사용자 정의 리소스가 업데이트되었습니다.
4.1.4. Red Hat OpenShift Pipelines Technology Preview 1.3 릴리스 정보
4.1.4.1. 새로운 기능
이제 OpenShift Container Platform 4.7에서 Red Hat OpenShift Pipelines TP(Technology Preview) 1.3을 사용할 수 있습니다. 다음을 지원하도록 Red Hat OpenShift Pipelines TP 1.3이 업데이트되었습니다.
- Tekton Pipelines 0.19.0
-
Tekton
tkn
CLI 0.15.0 - Tekton Triggers 0.10.2
- Tekton Catalog 0.19.0 기반 클러스터 작업
- OpenShift Container Platform 4.7의 IBM Power Systems
- OpenShift Container Platform 4.7의 IBM Z 및 LinuxONE
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.3의 새로운 기능도 소개합니다.
4.1.4.1.1. 파이프라인
- S2I 및 Buildah 작업과 같은 이미지를 빌드하는 작업에서 이제 이미지 SHA를 포함하는 빌드된 이미지의 URL을 내보냅니다.
-
Conditions
CRD(사용자 정의 리소스 정의)가 더 이상 사용되지 않기 때문에 사용자 정의 작업을 참조하는 파이프라인 작업에서 조건이 비활성화되었습니다. -
spec.steps[].imagePullPolicy
및spec.sidecar[].imagePullPolicy
의Task
CRD에 변수 확장이 추가되었습니다. -
disable-creds-init
기능 플래그를true
로 설정하여 Tekton의 기본 제공 자격 증명 메커니즘을 비활성화할 수 있습니다. -
해결된 When 표현식이
PipelineRun
구성의Status
필드에 있는Skipped Tasks
및Task Runs
섹션에 나열됩니다. -
git init
명령으로 재귀 하위 모듈을 복제할 수 있습니다. -
Task
CR 작성자가Task
사양에 있는 단계의 타임아웃을 지정할 수 있습니다. -
진입점 이미지의 기반을
distroless/static:nonroot
이미지로 하여 기본 이미지에 있는cp
명령에 의존하지 않고도 대상에 자체 복사 모드를 제공할 수 있습니다. -
구성 플래그
require-git-ssh-secret-known-hosts
를 사용하여 Git SSH 보안에서 알려진 호스트를 생략하지 않도록 할 수 있습니다. 플래그 값이true
로 설정된 경우 Git SSH 보안에known_host
필드를 포함해야 합니다. 플래그 기본값은false
입니다. - 선택적 작업 공간의 개념이 도입되었습니다. 작업 또는 파이프라인에서 작업 공간을 선택적으로 선언하고 작업 공간 존재 여부에 따라 조건부로 동작을 변경할 수 있습니다. 작업 실행 또는 파이프라인 실행에서도 해당 작업 공간을 생략하여 작업 또는 파이프라인 동작을 수정할 수 있습니다. 기본 작업 실행 작업 공간은 생략된 선택적 작업 공간 대신 추가되지 않습니다.
- Tekton의 자격 증명 초기화 과정에서 SSH가 아닌 URL과 함께 사용되는 SSH 자격 증명을 감지하고 Git 파이프라인 리소스에서 그 반대의 경우도 마찬가지이며, 단계 컨테이너에 경고를 기록합니다.
- Pod 템플릿에서 지정한 유사성을 유사성 도우미에서 덮어쓰는 경우 작업 실행 컨트롤러에서 경고 이벤트를 내보냅니다.
- 작업 실행이 완료되면 작업 실행 조정기에서 내보낸 클라우드 이벤트에 대한 지표를 기록합니다. 여기에는 재시도 횟수가 포함됩니다.
4.1.4.1.2. Pipeline CLI
-
tkn condition list
,tkn triggerbinding list
,tkn eventlistener list
,tkn clustertask list
,tkn clustertriggerbinding list
명령에--no-headers flag
에 대한 지원이 추가되었습니다. -
--last
또는--use
옵션은 함께 사용 시--prefix-name
및--timeout
옵션을 덮어씁니다. -
EventListener
로그를 볼 수 있도록tkn eventlistener logs
명령이 추가되었습니다. -
tekton hub
명령이tkn
CLI에 통합되었습니다. -
--nocolour
옵션이--no-color
로 변경되었습니다. -
tkn triggertemplate list
,tkn condition list
,tkn triggerbinding list
,tkn eventlistener list
명령에--all-namespaces
플래그가 추가되었습니다.
4.1.4.1.3. Trigger
-
EventListener
템플릿에 리소스 정보를 지정할 수 있습니다. -
EventListener
서비스 계정에 모든 트리거 리소스에 대한get
동사 외에list
및watch
동사도 있어야 합니다. 따라서Listers
를 사용하여EventListener
,Trigger
,TriggerBinding
,TriggerTemplate
,ClusterTriggerBinding
리소스에서 데이터를 가져올 수 있습니다. 이 기능을 사용하여 여러 정보원을 지정하지 않고Sink
오브젝트를 생성하고 API 서버에 직접 호출할 수 있습니다. -
변경 불가능한 입력 이벤트 본문을 지원하기 위해 새로운
Interceptor
인터페이스가 추가되었습니다. 인터셉터에서 새extensions
필드에 데이터 또는 필드를 추가할 수는 있지만 입력 본문을 수정하여 변경 불가능으로 설정할 수는 없습니다. CEL 인터셉터는 이 새로운Interceptor
인터페이스를 사용합니다. -
namespaceSelector
필드가EventListener
리소스에 추가되었습니다. 이 필드는EventListener
리소스에서 이벤트 처리를 위해Trigger
오브젝트를 가져올 수 있는 네임스페이스를 지정하는 데 사용합니다.namespaceSelector
필드를 사용하려면EventListener
서비스 계정에 클러스터 역할이 있어야 합니다. -
트리거
EventListener
리소스에서eventlistener
Pod에 대한 종단 간 보안 연결을 지원합니다. -
"
를\"
로 교체하여TriggerTemplates
리소스의 이스케이프 매개변수 동작이 제거되었습니다. -
Kubernetes 리소스를 지원하는 새로운
resources
필드가EventListener
사양의 일부로 도입되었습니다. - ASCII 문자열의 대문자 및 소문자를 지원하는 CEL 인터셉터의 새 기능이 추가되었습니다.
-
트리거의
name
및value
필드를 사용하거나 이벤트 리스너를 사용하여TriggerBinding
리소스를 포함할 수 있습니다. -
PodSecurityPolicy
구성이 제한된 환경에서 실행되도록 업데이트되었습니다. 따라서 컨테이너를 루트로 실행해서는 안 됩니다. 또한 Pod 보안 정책 사용을 위한 역할 기반 액세스 제어가 클러스터 범위에서 네임스페이스 범위로 이동했습니다. 그 결과 트리거에서 네임스페이스와 관련이 없는 다른 Pod 보안 정책을 사용할 수 없습니다. -
포함된 트리거 템플릿에 대한 지원이 추가되었습니다.
name
필드를 사용하여 포함된 템플릿을 참조하거나 템플릿을spec
필드 내에 포함할 수 있습니다.
4.1.4.2. 사용되지 않는 기능
-
PipelineResources
CRD를 사용하는 파이프라인 템플릿이 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다. -
template.name
필드가 더 이상template.ref
필드 대신 사용되지 않으며 향후 릴리스에서 제거됩니다. -
--check
명령에 대한-c
약어가 제거되었습니다. 또한 전역tkn
플래그가version
명령에 추가되었습니다.
4.1.4.3. 확인된 문제
-
CEL 오버레이는 들어오는 이벤트 본문을 수정하는 대신 새로운 최상위
extensions
함수에 필드를 추가합니다.TriggerBinding
리소스는$(extensions.<key>)
구문을 사용하여 이 새로운extensions
함수 내의 값에 액세스할 수 있습니다.$(body.<overlay-key>)
구문 대신$(extensions.<key>)
구문을 사용하도록 바인딩을 업데이트합니다. -
"
를\"
로 교체하여 이스케이프 매개변수 동작이 제거되었습니다. 이전 이스케이프 매개변수 동작을 유지해야 하는 경우TriggerTemplate
사양에tekton.dev/old-escape-quotes: true"
주석을 추가합니다. -
트리거 내부의
name
및value
필드를 사용하거나 이벤트 리스너를 사용하여TriggerBinding
리소스를 포함할 수 있습니다. 그러나 단일 바인딩에name
및ref
필드를 둘 다 지정할 수는 없습니다.ref
필드를 사용하여 포함된 바인딩의TriggerBinding
리소스 및name
필드를 참조합니다. -
인터셉터는
EventListener
리소스의 네임스페이스 외부에 있는secret
을 참조할 수 없습니다. ‘EventListener’ 리소스의 네임스페이스에 보안을 포함해야 합니다. -
Triggers 0.9.0 이상에서는 본문 또는 헤더 기반
TriggerBinding
매개변수가 이벤트 페이로드에서 누락되거나 잘못된 형식으로 되어 있는 경우 오류를 표시하는 대신 기본값을 사용합니다. -
Tekton Pipelines 0.16.x를 사용하여
WhenExpressions
개체로 생성된 작업 및 파이프라인을 다시 적용하여 JSON 주석을 수정해야 합니다. - 파이프라인에서 선택적 작업 영역을 수락하고 이를 작업에 제공할 때 작업 영역을 제공하지 않으면 파이프라인 실행이 중단됩니다.
- 연결이 끊긴 환경에서 Buildah 클러스터 작업을 사용하려면 Dockerfile에서 내부 이미지 스트림을 기본 이미지로 사용하는지 확인한 다음 모든 S2I 클러스터 작업과 동일한 방식으로 사용합니다.
4.1.4.4. 해결된 문제
-
이벤트 본문에
Extensions
필드를 추가하면 CEL 인터셉터에서 추가한 확장이 Webhook 인터셉터에 전달됩니다. -
LogOptions
필드를 사용하여 로그 리더에 대한 활동 타임아웃을 구성할 수 있습니다. 그러나 10초 내의 기본 타임아웃 동작은 유지됩니다. -
log
명령은 작업 실행 또는 파이프라인 실행이 완료되면--follow
플래그를 무시하고 라이브 로그 대신 사용 가능한 로그를 읽습니다. -
다음 Tekton 리소스에 대한 참조:
EventListener
,TriggerBinding
,ClusterTriggerBinding
,Condition
,TriggerTemplate
이 표준화되어tkn
명령의 모든 사용자 대응 메시지에서 일관성을 유지합니다. -
이전에는
--use-taskrun <canceled-task-run-name>
,--use-pipelinerun <canceled-pipeline-run-name>
또는--last
플래그를 사용하여 취소된 작업 실행 또는 파이프라인 실행을 시작하면 새 실행이 취소되었습니다. 이 버그가 해결되었습니다. -
파이프라인이 조건에 따라 실행되는 경우 실패하지 않도록
tkn pr desc
명령이 향상되었습니다. -
tkn tr delete
명령을--task
옵션과 함께 사용하여 작업을 삭제하고 이름이 동일한 클러스터 작업이 있는 경우 클러스터 작업의 작업 실행도 삭제됩니다. 이 문제를 해결하려면TaskRefKind
필드를 사용하여 작업을 필터링합니다. -
tkn triggertemplate describe
명령을 실행하면 출력에apiVersion
값의 일부만 표시됩니다. 예를 들어triggers.tekton.dev/v1alpha1
대신triggers.tekton.dev
만 표시되었습니다. 이 버그가 해결되었습니다. - Webhook는 특정 조건에서 리스를 가져오지 못하고 제대로 작동하지 않습니다. 이 버그가 해결되었습니다.
- v0.16.3에서 생성된 When 표현식이 있는 파이프라인을 v0.17.1 이상에서 실행할 수 있습니다. 주석의 첫 글자로 대문자와 소문자가 모두 지원되므로 업그레이드 후 이전 버전에서 생성한 파이프라인 정의를 다시 적용할 필요가 없습니다.
-
기본적으로 고가용성을 위해
leader-election-ha
필드가 활성화됩니다.disable-ha
컨트롤러 플래그를true
로 설정하면 고가용성 지원이 비활성화됩니다. - 중복된 클라우드 이벤트 문제가 수정되었습니다. 조건으로 인해 상태, 이유 또는 메시지가 변경될 때만 클라우드 이벤트가 전송됩니다.
-
PipelineRun
또는TaskRun
사양에 서비스 계정 이름이 없는 경우 컨트롤러는config-defaults
구성 맵의 서비스 계정 이름을 사용합니다.config-defaults
구성 맵에도 서비스 계정 이름이 없으면 컨트롤러에서 사양에 서비스 계정 이름을default
로 설정합니다. - 동일한 영구 볼륨 클레임이 여러 작업 공간에 사용되지만 하위 경로가 다른 경우 유사성 도우미와의 호환성을 검증하는 기능이 지원됩니다.
4.1.5. Red Hat OpenShift Pipelines Technology Preview 1.2 릴리스 정보
4.1.5.1. 새로운 기능
이제 OpenShift Container Platform 4.6에서 Red Hat OpenShift Pipelines TP(Technology Preview) 1.2를 사용할 수 있습니다. 다음을 지원하도록 Red Hat OpenShift Pipelines TP 1.2가 업데이트되었습니다.
- Tekton Pipelines 0.16.3
-
Tekton
tkn
CLI 0.13.1 - Tekton Triggers 0.8.1
- Tekton Catalog 0.16 기반 클러스터 작업
- OpenShift Container Platform 4.6의 IBM Power Systems
- OpenShift Container Platform 4.6의 IBM Z 및 LinuxONE
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.2의 새로운 기능도 소개합니다.
4.1.5.1.1. 파이프라인
이 Red Hat OpenShift Pipelines 릴리스에서는 오프라인 설치를 지원합니다.
참고제한된 환경에서의 설치는 현재 IBM Power Systems, IBM Z, LinuxONE에서 지원되지 않습니다.
-
이제
conditions
리소스 대신when
필드를 사용하여 특정 기준이 충족될 때만 작업을 실행할 수 있습니다.WhenExpression
리소스의 주요 구성 요소는Input
,Operator
,Values
입니다. 모든 표현식이True
로 평가되면 작업이 실행됩니다. When 표현식이False
로 평가되면 작업을 건너뜁니다. - 작업 실행이 취소되거나 타임아웃되는 경우 단계 상태가 업데이트됩니다.
-
git-init
에서 사용하는 기본 이미지를 빌드하는 데 Git LFS(Large File Storage) 지원이 제공됩니다. -
taskSpec
필드를 사용하여 작업이 파이프라인에 포함된 경우 라벨 및 주석과 같은 메타데이터를 지정할 수 있습니다. -
파이프라인 실행에서 클라우드 이벤트를 지원합니다. 클라우드 이벤트 파이프라인 리소스에서 보내는 클라우드 이벤트에
backoff
를 통해 재시도할 수 있습니다. -
Task
리소스에서 선언해도TaskRun
리소스에서 명시적으로 제공하지 않는 모든 작업 공간에 기본Workspace
구성을 설정할 수 있습니다. -
PipelineRun
네임스페이스 및TaskRun
네임스페이스에 대한 네임스페이스 변수 보간을 지원합니다. -
TaskRun
리소스가 유사성 도우미와 연결되어 있을 때 여러 개의 영구 볼륨 클레임 작업 공간이 사용되지 않는지 확인하기 위해TaskRun
오브젝트에 대한 검증 작업이 추가되었습니다. 영구 볼륨 클레임 작업 공간이 두 개 이상 사용되면TaskRunValidationFailed
조건이 포함된 작업 실행이 실패합니다. 기본적으로 유사성 도우미는 Red Hat OpenShift Pipelines에서 비활성화되어 있으므로 이 도우미를 사용하려면 활성화해야 합니다.
4.1.5.1.2. Pipeline CLI
tkn task describe
,tkn taskrun describe
,tkn clustertask describe
,tkn pipeline describe
,tkn pipelinerun describe
명령에서 다음을 수행합니다.-
Task
,TaskRun
,ClusterTask
,Pipeline
,PipelineRun
리소스 중 하나만 있는 경우 각 리소스를 자동으로 선택합니다. -
Task
,TaskRun
,ClusterTask
,Pipeline
,PipelineRun
리소스의 결과를 출력에 각각 표시합니다. -
Task
,TaskRun
,ClusterTask
,Pipeline
,PipelineRun
리소스에 선언된 작업 공간을 각각 표시합니다.
-
-
tkn clustertask start
명령에--prefix-name
옵션을 사용하여 작업 실행 이름에 접두사를 지정할 수 있습니다. -
tkn clustertask start
명령에 대화형 모드가 지원됩니다. -
TaskRun
및PipelineRun
오브젝트에 대한 로컬 또는 원격 파일 정의를 사용하여 파이프라인에서 지원하는PodTemplate
속성을 지정할 수 있습니다. -
tkn clustertask start
명령에--use-params-defaults
옵션을 사용하여ClusterTask
구성에 설정된 기본값을 사용하고 작업 실행을 생성할 수 있습니다. -
일부 매개변수에 기본값이 지정되지 않은 경우
tkn pipeline start
명령의--use-param-defaults
플래그는 대화형 모드를 표시합니다.
4.1.5.1.3. Trigger
-
parseYAML
이라는 CEL(Common Expression Language) 함수가 추가되어 YAML 문자열을 문자열 맵으로 구문 분석합니다. - CEL 표현식 구문 분석에 대한 오류 메시지가 개선되어 표현식을 평가하는 동안 그리고 평가 환경을 생성하기 위해 후크 본문을 구문 분석할 때 더 세부적인 내용이 표시됩니다.
- 부울 값 및 맵이 CEL 오버레이 메커니즘에서 표현식 값으로 사용되는 경우 부울 값 및 맵 마샬링이 지원됩니다.
다음 필드가
EventListener
오브젝트에 추가되었습니다.-
replicas
필드를 사용하면 YAML 파일의 복제본 수를 지정하여 이벤트 리스너에서 여러 개의 Pod를 실행할 수 있습니다. -
NodeSelector
필드를 사용하면EventListener
오브젝트에서 이벤트 리스너 Pod를 특정 노드에 예약할 수 있습니다.
-
-
Webhook 인터셉터에서
EventListener-Request-URL
헤더를 구문 분석하여 이벤트 리스너로 처리 중인 원래 요청 URL에서 매개변수를 추출할 수 있습니다. - 이벤트 리스너에 있는 주석을 배포 Pod, 서비스 Pod 및 기타 Pod로 전파할 수 있습니다. 서비스 또는 배포에 대한 사용자 정의 주석을 덮어쓰므로 해당 주석을 전파하려면 이벤트 리스너 주석에 추가해야 합니다.
-
사용자가
spec.replicas
값을negative
또는zero
로 지정하는 경우에도EventListener
사양의 복제본을 올바르게 검증할 수 있습니다. -
TriggerRef
필드를 통해EventListener
사양 내의TriggerCRD
오브젝트를 참조로 지정하여TriggerCRD
오브젝트를 별도로 생성한 다음EventListener
사양 내에서 바인딩할 수 있습니다. -
TriggerCRD
오브젝트에 검증을 수행하고 기본값을 사용할 수 있습니다.
4.1.5.2. 사용되지 않는 기능
-
이제
resourcetemplate
과triggertemplate
리소스 매개변수를 혼동하지 않도록$(params)
매개변수가triggertemplate
리소스에서 제거되고$(tt.params)
로 대체되었습니다. -
선택적
EventListenerTrigger
기반 인증 수준의ServiceAccount
참조가 오브젝트 참조에서ServiceAccountName
문자열로 변경되었습니다. 이로 인해ServiceAccount
참조가EventListenerTrigger
오브젝트와 동일한 네임스페이스에 있습니다. -
Conditions
CRD(사용자 정의 리소스 정의)가 더 이상 사용되지 않습니다. 대신WhenExpressions
CRD를 사용합니다. -
PipelineRun.Spec.ServiceAccountNames
오브젝트가 더 이상 사용되지 않고PipelineRun.Spec.TaskRunSpec[].ServiceAccountName
오브젝트로 교체됩니다.
4.1.5.3. 확인된 문제
- 이 Red Hat OpenShift Pipelines 릴리스에서는 오프라인 설치를 지원합니다. 그러나 클러스터 작업에서 사용하는 일부 이미지는 연결이 끊긴 클러스터에서 작업하려면 미러링해야 합니다.
-
openshift
네임스페이스의 파이프라인은 Red Hat OpenShift Pipelines Operator를 설치 제거한 후에도 삭제되지 않습니다. 이 파이프라인을 삭제하려면oc delete pipelines -n openshift --all
명령을 사용합니다. Red Hat OpenShift Pipelines Operator를 설치 제거해도 이벤트 리스너는 제거되지 않습니다.
해결 방법은
EventListener
및Pod
CRD를 제거하는 것입니다.foregroundDeletion
종료자를 사용하여EventListener
오브젝트를 다음과 같이 편집합니다.$ oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge
예를 들면 다음과 같습니다.
$ oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge
EventListener
CRD를 삭제합니다.$ oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge
IBM Power Systems(ppc64le) 또는 IBM Z(s390x) 클러스터에서 명령 사양 없이 다중 아키텍처 컨테이너 이미지 작업을 실행하면
TaskRun
리소스가 실패하고 다음 오류 메시지가 표시됩니다.Error executing command: fork/exec /bin/bash: exec format error
해결 방법은 아키텍처별 컨테이너 이미지를 사용하거나 sha256 다이제스트를 지정하여 올바른 아키텍처를 가리키는 것입니다. sha256 다이제스트를 가져오려면 다음을 입력합니다.
$ skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
4.1.5.4. 해결된 문제
- CEL 필터, Webhook 유효성 검증기의 오버레이, 인터셉터의 표현식을 확인하는 간단한 구문 검증 기능이 추가되었습니다.
- Trigger가 더 이상 기본 배포 및 서비스 오브젝트에 설정된 주석을 덮어쓰지 않습니다.
-
이전에는 이벤트 리스너에서 이벤트 수락을 중지했습니다. 이 수정에서는 이 문제를 해결하기 위해
EventListener
싱크에 120초의 유휴 상태 타임아웃이 추가되었습니다. -
이전에는
Failed(Canceled)
상태로 파이프라인 실행을 취소하면 성공 메시지가 표시되었습니다. 이제 오류 메시지를 표시하도록 수정되었습니다. -
tkn eventlistener list
명령에서 나열된 이벤트 리스너의 상태를 제공하므로 사용 가능한 리스너를 쉽게 확인할 수 있습니다. -
트리거가 설치되지 않았거나 리소스가 없는 경우
triggers list
및triggers describe
명령에 대한 오류 메시지가 일관되게 표시됩니다. -
이전에는 클라우드 이벤트를 제공하는 동안 다수의 유휴 연결이 빌드되었습니다. 이 문제를 해결하기 위해
cloudeventclient
구성에DisableKeepAlives: true
매개변수가 추가되었습니다. 따라서 모든 클라우드 이벤트에 대해 새로운 연결이 설정됩니다. -
이전에는 지정된 유형의 자격 증명이 제공되지 않은 경우에도
creds-init
코드에서 디스크에 빈 파일을 작성했습니다. 이번 수정에서는 올바른 주석이 있는 보안에서 실제로 마운트된 자격 증명이 있는 경우에만 파일을 작성하도록creds-init
코드를 수정했습니다.
4.1.6. Red Hat OpenShift Pipelines Technology Preview 1.1 릴리스 정보
4.1.6.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의 새로운 기능도 소개합니다.
4.1.6.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
클러스터 작업을 사용할 수 있습니다.
4.1.6.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
플래그를 사용할 수 있습니다.
4.1.6.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 리소스에 주석을 삽입할 수 있습니다.
4.1.6.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
클러스터 작업이 더 이상 사용되지 않습니다.
4.1.6.3. 확인된 문제
- 조건에서 작업 공간을 지원하지 않습니다.
-
tkn clustertask start
명령에--workspace
옵션과 대화형 모드가 지원되지 않습니다. -
$(params.<paramName>)
구문의 역호환성 지원에 따라 파이프라인 특정 매개변수와 함께 트리거 템플릿을 사용하도록 수정되었습니다. 이는 트리거 WebHook에서 트리거 매개변수를 파이프라인 매개변수와 구별할 수 없기 때문입니다. -
tekton_taskrun_count
및tekton_taskrun_duration_seconds_count
에 대한 promQL 쿼리를 실행할 때 Pipeline 메트릭이 잘못된 값을 보고합니다. -
작업 공간에 제공된 기존 PVC 이름이 없는 경우에도 파이프라인 실행 및 작업 실행이
Running
및Running(Pending)
상태를 각각 유지합니다.
4.1.6.4. 해결된 문제
-
이전에는 작업과 클러스터 작업 이름이 동일할 때
tkn task delete<name>--trs
명령으로 작업과 클러스터 작업이 모두 삭제되었습니다. 이번 수정에서는 이 명령으로 작업<name>
에 의해 생성된 작업 실행만 삭제됩니다. -
이전에는
tkn pr delete -p<name>--keep 2
명령을--keep
플래그와 함께 사용할 때-p
플래그가 무시되고 최근 두 개를 제외한 모든 파이프라인 실행이 삭제되었습니다. 이번 수정에서는 이 명령으로 최근 두 개를 제외하고 파이프라인<name>
에 의해 생성된 파이프라인 실행만 삭제됩니다. -
이제
tkn triggertemplate describe
출력에 YAML 형식 대신 테이블 형식으로 리소스 템플릿이 표시됩니다. -
전에는 컨테이너에 새 사용자를 추가할 때
buildah
클러스터 작업이 실패했습니다. 수정판에서는 이러한 문제가 해결되었습니다.
4.1.7. Red Hat OpenShift Pipelines Technology Preview 1.0 릴리스 정보
4.1.7.1. 새로운 기능
이제 OpenShift Container Platform 4.4에서 Red Hat OpenShift Pipelines TP(Technology Preview) 1.0을 사용할 수 있습니다. 다음을 지원하도록 Red Hat OpenShift Pipelines TP 1.0이 업데이트되었습니다.
- Tekton Pipelines 0.11.3
-
Tekton
tkn
CLI 0.9.0 - Tekton Triggers 0.4.0
- Tekton Catalog 0.11 기반 클러스터 작업
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.0의 새로운 기능도 소개합니다.
4.1.7.1.1. 파이프라인
- v1beta1 API 버전을 지원합니다.
- 개선된 제한 범위를 지원합니다. 이전에는 작업 실행 및 파이프라인 실행에 대해서만 제한 범위를 지정했습니다. 이제 제한 범위를 명시적으로 지정할 필요가 없습니다. 네임스페이스의 최소 제한 범위가 사용됩니다.
- 작업 결과 및 작업 매개 변수를 사용하여 작업 간 데이터 공유를 지원합니다.
-
이제
HOME
환경 변수와 단계의 작업 디렉토리를 덮어쓰지 않도록 파이프라인을 구성할 수 있습니다. -
작업 단계와 유사하게
sidecars
가 이제 스크립트 모드를 지원합니다. -
이제 작업 실행
podTemplate
리소스에서 다른 스케줄러 이름을 지정할 수 있습니다. - Star Array Notation을 사용한 변수 대체를 지원합니다.
- 이제 개별 네임스페이스를 모니터링하도록 Tekton 컨트롤러를 구성할 수 있습니다.
- 이제 새로운 설명 필드가 파이프라인, 작업, 클러스터 작업, 리소스 및 조건의 사양에 추가되었습니다.
- Git 파이프라인 리소스에 프록시 매개변수를 추가합니다.
4.1.7.1.2. Pipeline CLI
-
이제 다음과 같은
tkn
리소스에describe
하위 명령이 추가됩니다.EventListener
,조건
,TriggerTemplate
,ClusterTask
및TriggerSBinding
. -
v1alpha1에 대한 이전 버전과의 호환성과 함께 다음 리소스에 v1beta
1 지원이 추가되었습니다.ClusterTask
,Task
,Pipeline
,PipelineRun
,TaskRun
. 이제
tkn task list
,tkn pipeline list
,tkn taskrun list
,tkn pipelinerun list
와 같은--all-namespaces
플래그 옵션을 사용하여 모든 네임스페이스의 출력을 나열할 수 있습니다.--no-headers
플래그 옵션을 사용하면 명령의 출력에 헤더 없이 정보가 표시되도록 향상되었습니다.-
이제
tkn pipelines start
명령에서--use-param-defaults
플래그를 지정하여 기본 매개변수 값을 사용하여 파이프라인을 시작할 수 있습니다. -
이제
tkn pipeline start
및tkn task start
명령에 작업 공간에 대한 지원이 추가되었습니다. -
describe
,delete
,list
하위 명령과 함께 이제 새로운clustertriggerbinding
명령이 추가되었습니다. -
이제 로컬 또는 원격
yaml
파일을 사용하여 Pipeline Run을 직접 시작할 수 있습니다. -
이제
describe
하위 명령이 이제 보강되고 상세한 출력을 표시합니다.description
,timeout
,param description
및sidecar status
와 같은 새로운 필드가 추가되면서 특정tkn
리소스에 대한 자세한 정보가 명령 출력에 제공됩니다. -
네임스페이스에 있는 작업이 한 개뿐인 경우
tkn task log
명령으로 바로 로그를 표시할 수 있습니다.
4.1.7.1.3. Trigger
-
트리거 (Trigger)가 이제
v1alpha1
및v1beta1
파이프라인 리소스를 모두 생성할 수 있습니다. -
새로운 CEL(Common Expression Language) 인터셉터 기능
-compareSecret
지원 이 기능은 보안을 유지하면서 문자열을 CEL 표현식의 보안과 비교합니다. - 이벤트 리스너 트리거 수준에서 인증 및 승인을 지원합니다.
4.1.7.2. 사용되지 않는 기능
이 릴리스에서는 더 이상 사용되지 않은 기능은 다음과 같습니다.
Steps
사양의 환경 변수$HOME
및 변수workingDir
은 더 이상 사용되지 않으며 향후 릴리스에서 변경될 수 있습니다. 현재Step
컨테이너의HOME
및workingDir
매개 변수가/tekton/home
과/workspace
을 각각 덮어씁니다.향후 릴리스에서 이 두 필드는 수정되지 않으며, 컨테이너 이미지 및
Task
YAML에 정의된 값으로 설정될 것입니다. 이번 릴리스에서는disable-home-env-overwrite
및disable-working-directory-overwrite
플래그를 사용하여HOME
및workingDir
변수의 덮어쓰기 기능을 비활성화하십시오.-
다음 명령은 더 이상 사용되지 않는 명령들이며 향후 릴리스에서 제거될 수 있습니다:
tkn pipeline create
,tkn task create
-
tkn resource create
명령과 함께-f
플래그가 더 이상 사용되지 않습니다. 향후 릴리스에서 제거될 수 있습니다. -
tkn clustertask create
명령에서-t
플래그와--timeout
플래그(초 형식)가 더 이상 사용되지 않습니다. 이제 지속 시간 초과 형식만 지원됩니다(예:1h30s)
. 더 이상 사용되지 않는 이러한 플래그는 향후 릴리스에서 제거될 수 있습니다.
4.1.7.3. 확인된 문제
- 이전 버전의 Red Hat OpenShift Pipelines에서 업그레이드하는 경우 Red Hat OpenShift Pipelines 버전 1.0으로 업그레이드하기 전에 기존 배포를 삭제해야 합니다. 기존 배포를 삭제하려면 먼저 사용자 정의 리소스를 삭제한 다음 Red Hat OpenShift Pipelines Operator를 설치 제거해야 합니다. 자세한 내용은 Red Hat OpenShift Pipeline 설치 제거 섹션을 참조하십시오.
-
동일한
v1alpha1
작업을 두 번 이상 제출하면 오류가 발생합니다.v1alpha1
작업을 다시 제출할 때oc apply
대신oc replace
명령을 사용하십시오. 컨테이너에 사용자가 새로 추가되면
buildah
클러스터 작업이 작동하지 않습니다.Operator가 설치되면
buildah
클러스터 작업에 대한--storage-driver
플래그가 지정되지 않으므로 플래그가 기본값으로 설정됩니다. 스토리지 드라이버가 잘못 설정되는 경우도 발생할 수 있습니다. 사용자가 새로 추가되면 잘못된 스토리지 드라이버로 인해 다음 오류가 발생되면서buildah
클러스터 작업이 실패합니다.useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
이 문제를 해결하려면
buildah-task.yaml
파일에서--storage-driver
플래그 값을overlay
로 직접 설정하십시오.cluster-admin
권한으로 클러스터에 로그인합니다.$ oc login -u <login> -p <password> https://openshift.example.com:6443
oc edit
명령을 사용하여buildah
클러스터 작업을 편집합니다.$ oc edit clustertask buildah
buildah
clustertask YAML 파일의 현재 버전이EDITOR
환경 변수에 의해 설정된 편집기에서 열립니다.Steps
필드에서 다음command
필드를 찾습니다.command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
command
필드를 다음으로 변경합니다.command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
- 파일을 저장하고 종료합니다.
또는 Pipelines
Cluster Tasks buildah로 이동하여 웹 콘솔에서 직접 buildah
클러스터 작업 YAML 파일을 수정할 수도 있습니다. Actions 메뉴에서 Edit Cluster Task를 선택하고 이전 프로시저에서 안내한 대로command
필드를 변경합니다.
4.1.7.4. 해결된 문제
-
이전에는 이미지 빌드가 이미 진행 중인 경우에도
DeploymentConfig
작업이 새 배포 빌드를 트리거했습니다. 이로 인해 파이프라인 배포가 실패로 끝납니다. 수정판에서는 진행 중인 배포를 마칠 때까지 대기하는oc rollout status
명령으로 이제deploy task
명령을 대체합니다. -
APP_NAME
매개변수에 대한 지원이 이제 파이프라인 템플릿에 추가됩니다. -
전에는 Java S2I용 파이프라인 템플릿이 레지스트리에서 이미지를 찾지 못했습니다. 수정판에서는 사용자가 제공한
IMAGE_NAME
매개변수 대신 기존 이미지 파이프라인 리소스를 사용하여 이미지를 검색합니다. - 이제 모든 OpenShift Pipelines 이미지가 Red Hat UBI(Universal Base Images, 범용 기본 이미지)를 기반으로 합니다.
-
전에는
tekton-pipelines
이외 네임스페이스에 파이프라인을 설치했을 때tkn version
명령에서 파이프라인 버전을unknown
으로 표시했습니다. 수정판에서는tkn version
명령으로 이제 모든 네임스페이스에 올바른 파이프라인 버전을 표시할 수 있습니다. -
tkn version
명령에 더 이상-c
플래그가 지원되지 않습니다. - 관리자 권한이 없는 사용자도 이제 클러스터 트리거 비인딩 목록을 볼 수 있습니다.
-
CEL 인터셉터에 대한 이벤트 리스너
CompareSecret
기능이 수정되었습니다. -
작업과 클러스터 작업의 이름이 같은 경우 작업 및 클러스터 작업에 대한
list
,describe
및start
하위 명령의 출력이 이제 올바르게 표시됩니다. - 이전에는 OpenShift Pipelines Operator에서 권한이 필요한 SCC(보안 컨텍스트 제약 조건)를 수정하여 클러스터 업그레이드 도중 오류가 발생했습니다. 이 오류는 이제 수정되었습니다.
-
tekton-pipelines
네임스페이스에서 모든 작업 실행 및 파이프라인 실행의 시간 초과 값이 이제 구성 맵을 사용하여default-timeout-minutes
필드 값으로 설정됩니다. - 전에는 관리자 권한이 없는 사용자에게는 웹 콘솔의 파이프라인 섹션이 표시되지 않았습니다. 이 문제는 이제 해결되었습니다.