1.10. Red Hat OpenShift Pipelines General Availability 1.8 릴리스 정보
이번 업데이트를 통해 OpenShift Container Platform 4.10, 4.11 및 4.12에서 Red Hat OpenShift Pipelines General Availability (GA) 1.8을 사용할 수 있습니다.
1.10.1. 새로운 기능
다음 섹션에서는 수정 및 안정성 개선 사항 외에 Red Hat OpenShift Pipelines 1.8의 새로운 기능도 소개합니다.
1.10.1.1. 파이프라인
-
이번 업데이트를 통해 ARM 하드웨어에서 실행 중인 OpenShift Container Platform 클러스터에서 Red Hat OpenShift Pipelines GA 1.8 이상을 실행할 수 있습니다. 여기에는
ClusterTask
리소스 및tkn
CLI 툴 지원이 포함됩니다.
ARM 하드웨어에서 Red Hat OpenShift Pipelines를 실행하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
-
이번 업데이트에서는
TaskRun
리소스에 대한단계
및 사이드카 이번 업데이트에서는
PipelineRun
상태 내에 최소TaskRun
및Run
상태가 추가되었습니다.이 기능을 활성화하려면
pipeline
섹션의TektonConfig
사용자 지정 리소스 정의에서enable-api-fields
필드를alpha
로 설정해야 합니다.이번 업데이트를 통해 파이프라인 실행 기능의 정상 종료 기능이 알파 기능에서 안정적인 기능으로 승격됩니다. 결과적으로 이전에 더 이상 사용되지 않는
PipelineRunCancelled
상태는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.이 기능은 기본적으로 사용할 수 있으므로
TektonConfig
사용자 정의 리소스 정의에서 더 이상pipeline.enable-api-fields
필드를alpha
로 설정할 필요가 없습니다.이번 업데이트를 통해 작업 공간 이름을 사용하여 파이프라인 작업의 작업 공간을 지정할 수 있습니다. 이러한 변경으로 한 쌍의
Pipeline
및PipelineTask
리소스에 대한 공유 작업 공간을 더 쉽게 지정할 수 있습니다. 작업 공간을 명시적으로 계속 매핑할 수도 있습니다.이 기능을 활성화하려면
pipeline
섹션의TektonConfig
사용자 지정 리소스 정의에서enable-api-fields
필드를alpha
로 설정해야 합니다.- 이번 업데이트를 통해 포함된 사양의 매개변수가 변경 없이 전파됩니다.
-
이번 업데이트를 통해 주석 및 라벨을 사용하여
PipelineRun
리소스에서 참조하는Task
리소스의 필수 메타데이터를 지정할 수 있습니다. 이렇게 하면 파이프라인 실행 중에 실행 컨텍스트에 따라 달라지는Task
메타데이터를 사용할 수 있습니다. -
이번 업데이트에서는
params
및results
값의 오브젝트 또는 사전 유형 지원이 추가되었습니다. 이 변경 사항은 이전 버전과의 호환성에 영향을 미치며 향후 Red Hat OpenShift Pipelines 버전에서 이전 클라이언트를 사용하는 등 이전 버전과의 호환성이 중단되는 경우가 있습니다. 이번 업데이트에서는 Go 언어 API를 라이브러리로 사용하는 프로젝트에 영향을 주는ArrayOrStruct
구조를 변경합니다. -
이번 업데이트에서는
PipelineRun
상태 필드의SkippedTasks
필드에SkippingReason
값이 추가되어 사용자가 지정된 PipelineTask를 건너뛰는 이유를 알 수 있습니다. 이번 업데이트에서는
Task
오브젝트에서 결과를 발송하는 데배열
유형을 사용할 수 있는 alpha 기능을 지원합니다. 결과 유형이문자열
에서ArrayOrString
으로 변경됩니다. 예를 들어, 작업은 배열 결과를 생성할 유형을 지정할 수 있습니다.kind: Task apiVersion: tekton.dev/v1beta1 metadata: name: write-array annotations: description: | A simple task that writes array spec: results: - name: array-results type: array description: The array results ...
또한 작업 스크립트를 실행하여 결과를 배열로 채울 수 있습니다.
$ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)
이 기능을 활성화하려면
pipeline
섹션의TektonConfig
사용자 지정 리소스 정의에서enable-api-fields
필드를alpha
로 설정해야 합니다.이 기능은 진행 중이며 TEP-0076의 일부입니다.
1.10.1.2. Trigger
이번 업데이트에서는
EventListener
사양의TriggerGroups
필드를 알파 기능에서 stable 기능으로 전환합니다. 이 필드를 사용하여 트리거 그룹을 선택하고 실행하기 전에 인터셉터 세트를 지정할 수 있습니다.이 기능은 기본적으로 사용할 수 있으므로
TektonConfig
사용자 정의 리소스 정의에서 더 이상pipeline.enable-api-fields
필드를alpha
로 설정할 필요가 없습니다.-
이번 업데이트를 통해
Trigger
리소스는 HTTPS를 사용하여ClusterInterceptor
서버를 실행하여 엔드 투 엔드 보안 연결을 지원합니다.
1.10.1.3. CLI
-
이번 업데이트를 통해
tkn taskrun export
명령을 사용하여 클러스터에서 YAML 파일로 라이브 작업 실행을 내보낼 수 있습니다. 이 명령을 사용하여 작업 실행을 다른 클러스터로 가져올 수 있습니다. -
이번 업데이트를 통해
tkn pipeline start
명령에-o name
플래그를 추가하여 시작 직후 파이프라인 실행 이름을 출력할 수 있습니다. -
이번 업데이트에서는
tkn --help
명령의 출력에 사용 가능한 플러그인 목록이 추가되었습니다. -
이번 업데이트를 통해 파이프라인 실행 또는 작업 실행을 삭제하는 동안
--keep
및--keep-since
플래그를 함께 사용할 수 있습니다. -
이번 업데이트를 통해 더 이상 사용되지 않는
PipelineRunCancelled
값이 아닌spec.status
필드의 값으로Cancelled
을 사용할 수 있습니다.
1.10.1.4. Operator
- 이번 업데이트를 통해 관리자는 기본 데이터베이스가 아닌 사용자 정의 데이터베이스를 사용하도록 로컬 Tekton Hub 인스턴스를 구성할 수 있습니다.
이번 업데이트를 통해 클러스터 관리자는 로컬 Tekton Hub 인스턴스를 활성화하면 Tekton Hub 웹 콘솔에 변경 사항이 표시되도록 정기적으로 데이터베이스를 새로 고칩니다. 새로 고침 간격은 조정할 수 있습니다.
이전에는 카탈로그의 작업 및 파이프라인을 데이터베이스에 추가하려면 해당 작업을 수동으로 수행하거나 이를 수행하도록 cron 작업을 설정했습니다.
- 이번 업데이트를 통해 최소 구성으로 Tekton Hub 인스턴스를 설치하고 실행할 수 있습니다. 이렇게 하면 팀과 협력하여 원하는 추가 사용자 지정을 결정할 수 있습니다.
-
이번 업데이트에서는 보안 리포지토리를 복제할 수 있도록
GIT_SSL_CAINFO
를git-clone
작업에 추가합니다.
1.10.1.5. Tekton 체인
Tekton 체인은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
- 이번 업데이트를 통해 정적 토큰이 아닌 OIDC를 사용하여 자격 증명 모음에 로그인할 수 있습니다. 이 변경으로 Spire는 OIDC 인증 정보를 생성할 수 있으므로 신뢰할 수 있는 워크로드만 자격 증명 모음에 로그인할 수 있습니다. 또한 자격 증명 모음 주소를 환경 변수로 삽입하지 않고 구성 값으로 전달할 수 있습니다.
-
openshift
구성 맵은 Red Hat OpenShift Pipelines Operator를 사용하여 구성 맵을 직접 업데이트할 때 지원되지 않기 때문에 Red Hat OpenShift Pipelines Operator를 업그레이드한 후 기본값으로 자동 재설정됩니다. 그러나 이번 업데이트를 통해 Tekton Cryostat 사용자 정의 리소스를 사용하여-pipelines
네임스페이스의 Tekton 체인용 chain-configTekton Chain
을 구성할 수 있습니다. 이 기능을 사용하면 업그레이드 중에 덮어쓰는chain-config
구성 맵과 달리 업그레이드 후에도 구성이 유지될 수 있습니다.
1.10.1.6. Tekton Hub
Tekton Hub는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
이번 업데이트를 통해 Operator를 사용하여 Tekton Hub의 새 인스턴스를 설치하면 Tekton Hub 로그인이 기본적으로 비활성화됩니다. 로그인 및 등급 기능을 활성화하려면 Tekton Hub를 설치하는 동안 Hub API 시크릿을 생성해야 합니다.
참고Tekton Hub 로그인은 Red Hat OpenShift Pipelines 1.7에서 기본적으로 활성화되었으므로 Operator를 업그레이드하는 경우 Red Hat OpenShift Pipelines 1.8에서 기본적으로 로그인이 활성화됩니다. 이 로그인을 비활성화하려면 OpenShift Pipelines 1.7.x - 1.8.x에서 업그레이드한 후 Tekton Hub 로그인 비활성화를 참조하십시오.
이번 업데이트를 통해 관리자는 기본 데이터베이스가 아닌 사용자 정의 PostgreSQL 13 데이터베이스를 사용하도록 로컬 Tekton Hub 인스턴스를 구성할 수 있습니다. 이렇게 하려면
tekton-hub-db
라는Secret
리소스를 생성합니다. 예를 들면 다음과 같습니다.apiVersion: v1 kind: Secret metadata: name: tekton-hub-db labels: app: tekton-hub-db type: Opaque stringData: POSTGRES_HOST: <hostname> POSTGRES_DB: <database_name> POSTGRES_USER: <username> POSTGRES_PASSWORD: <password> POSTGRES_PORT: <listening_port_number>
- 이번 업데이트를 통해 더 이상 Tekton Hub 웹 콘솔에 로그인하여 카탈로그의 리소스를 데이터베이스에 추가할 필요가 없습니다. 이제 Tekton Hub API가 처음으로 실행을 시작하면 이러한 리소스가 자동으로 추가됩니다.
- 이번 업데이트에서는 카탈로그 새로 고침 API 작업을 호출하여 30분마다 카탈로그를 자동으로 새로 고칩니다. 이 간격은 user-configurable입니다.
1.10.1.7. 코드로서의 파이프라인
Pipeline as Code(PAC)는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
-
이번 업데이트를 통해 개발자는 코드 실행으로 파이프라인에 중복 리포지토리를 추가하려고 하는 경우
tkn-pac
CLI 툴에서 알림을 받습니다.tkn pac create repository
를 입력하면 각 리포지토리에 고유한 URL이 있어야 합니다. 이 알림은 또한 하이재킹 취약점을 방지하는 데 도움이 됩니다. -
이번 업데이트를 통해 개발자는 새로운
tkn-pac setup cli
명령을 사용하여 Webhook 메커니즘을 사용하여 Git 리포지토리를 코드로 Pipeline에 추가할 수 있습니다. 이렇게 하면 GitHub 앱을 사용할 수 없는 경우에도 Pipeline을 코드로 사용할 수 있습니다. 이 기능에는 GitHub, GitLab, BitBucket의 리포지토리가 지원됩니다. 이번 업데이트를 통해 Pipeline은 다음과 같은 기능과 GitLab 통합을 지원합니다.
- 프로젝트 또는 그룹의 ACL(액세스 제어 목록)
-
허용된
사용자의 /OK-to-test
지원 -
/retest
지원.
이번 업데이트를 통해 CEL(Common Expression Language)을 사용하여 고급 파이프라인 필터링을 수행할 수 있습니다. CEL을 사용하면
PipelineRun
리소스의 주석을 사용하여 다른 Git 공급자 이벤트와 파이프라인 실행을 일치시킬 수 있습니다. 예를 들면 다음과 같습니다.... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"
-
이전 버전에서는 개발자로서 가져오기 요청과 같은 각 Git 이벤트의
.tekton
디렉터리에 하나의 파이프라인 실행만 있을 수 있었습니다. 이번 업데이트를 통해.tekton
디렉터리에 여러 파이프라인 실행이 있을 수 있습니다. 웹 콘솔에 실행 상태 및 보고서가 표시됩니다. 파이프라인 실행이 병렬로 작동하고 Git 공급자 인터페이스로 다시 보고합니다. -
이번 업데이트를 통해 가져오기 요청에서
/test
또는/retest
를 주석 처리하여 파이프라인 실행을 테스트하거나 다시 테스트할 수 있습니다. 이름별로 파이프라인 실행을 지정할 수도 있습니다. 예를 들어/test <pipelinerun_name
> 또는/retest <pipelinerun-name
>을 입력할 수 있습니다. -
이번 업데이트를 통해 새로운
tkn-pac delete repository
명령을 사용하여 리포지토리 사용자 정의 리소스 및 관련 시크릿을 삭제할 수 있습니다.
1.10.2. 변경 사항 중단
이번 업데이트에서는
TaskRun
및PipelineRun
리소스의 기본 메트릭 수준을 다음 값으로 변경합니다.apiVersion: v1 kind: ConfigMap metadata: name: config-observability namespace: tekton-pipelines labels: app.kubernetes.io/instance: default app.kubernetes.io/part-of: tekton-pipelines data: _example: | ... metrics.taskrun.level: "task" metrics.taskrun.duration-type: "histogram" metrics.pipelinerun.level: "pipeline" metrics.pipelinerun.duration-type: "histogram"
-
이번 업데이트를 통해
Pipeline
및PipelineRun
리소스 모두에 주석 또는 레이블이 있는 경우Run
유형의 값이 우선합니다. 주석 또는 레이블이Task
및TaskRun
리소스에 있는 경우에도 마찬가지입니다. -
Red Hat OpenShift Pipelines 1.8에서 이전에 더 이상 사용되지 않는
PipelineRun.Spec.ServiceAccountNames
필드가 제거되었습니다. 대신PipelineRun.Spec.TaskRunSpecs
필드를 사용합니다. -
Red Hat OpenShift Pipelines 1.8에서 이전에 더 이상 사용되지 않는
TaskRun.Status.ResourceResults.ResourceRef
필드가 제거되었습니다. 대신TaskRun.Status.ResourceResults.ResourceName
필드를 사용합니다. -
Red Hat OpenShift Pipelines 1.8에서는 이전에 더 이상 사용되지 않는
Conditions
리소스 유형이 제거되었습니다.Pipeline
리소스 정의를 포함하는Conditions
리소스를 제거합니다.PipelineRun
정의에서when
표현식을 대신 사용합니다.
-
Tekton 체인의 경우 이 릴리스에서
tekton-provenance
형식이 제거되었습니다.Tekton
Cryostat 사용자 지정 리소스에서"artifacts.taskrun.format": "
설정하여 In-toto 형식을 사용합니다.in-toto
"를
Red Hat OpenShift Pipelines 1.7.x는 Pipeline과 Code 0.5.x를 제공합니다. 현재 업데이트는 Pipeline과 함께 코드 0.10.x로 제공됩니다. 이 변경으로 인해 새 컨트롤러의
openshift-pipelines
네임스페이스에 새 경로가 생성됩니다. GitHub Apps 또는 Pipeline을 코드로 사용하는 Webhook에서 이 경로를 업데이트해야 합니다. 경로를 가져오려면 다음 명령을 사용하십시오.$ oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'
-
이번 업데이트를 통해 Code로 Pipeline은
Repository
CRD(사용자 정의 리소스 정의)의 기본 시크릿 키의 이름을 바꿉니다. CRD에서 토큰을provider.
으로 교체하고token
secret
을webhook.secret
으로 교체합니다. -
이번 업데이트를 통해 코드로서의 Pipeline은 특수 템플릿 변수를 프라이빗 리포지토리에 대해 여러 파이프라인 실행을 지원하는 변수로 교체합니다. 파이프라인 실행에서
secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}
을secret: {{ git_auth_secret }}
로 바꿉니다. 이번 업데이트를 통해 코드로서의 Pipeline은
tkn-pac
CLI 툴에서 다음 명령을 업데이트합니다.-
tkn pac repository create
를tkn pac create 리포지토리로
바꿉니다. -
tkn pac repository delete
를tkn pac delete repository
로 바꿉니다. -
tkn pac 리포지토리 목록을
로 바꿉니다.tkn pac list
-
1.10.3. 사용되지 않거나 삭제된 기능
OpenShift Container Platform 4.11부터 Red Hat OpenShift Pipelines Operator를 설치하고 업그레이드하기 위한
프리뷰
및안정적인
채널이 제거됩니다. Operator를 설치하고 업그레이드하려면 적절한pipelines-<version
> 채널을 사용하거나최신
안정 버전의 최신 채널을 사용합니다. 예를 들어 OpenShift Pipelines Operator 버전1.8.x
를 설치하려면pipelines-1.8
채널을 사용합니다.참고OpenShift Container Platform 4.10 및 이전 버전에서는
프리뷰
및안정적인
채널을 사용하여 Operator를 설치 및 업그레이드할 수 있습니다.Red Hat OpenShift Pipelines GA 1.6에서 더 이상 사용되지 않는
tekton.dev/v1alpha1
API 버전에 대한 지원은 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 제거될 예정입니다.이 변경 사항은
TaskRun
,PipelineRun
,Task
,Pipeline
및 유사한tekton.dev/v1alpha1
리소스가 포함된 파이프라인 구성 요소에 영향을 미칩니다. 또는 Tekton v1 alpha1에서 Tekton v1beta1로 마이그레이션에 설명된 대로apiVersion: tekton.dev/v1beta1
을 사용하도록 기존 리소스를 업데이트합니다.tekton.dev/v1alpha1
API 버전에 대한 버그 수정 및 지원은 현재 GA 1.8 라이프 사이클 종료 시에만 제공됩니다.중요Tekton Operator 의 경우
operator.tekton.dev/v1alpha1
API 버전이 더 이상 사용되지 않습니다. 이 값을 변경할 필요가 없습니다.-
Red Hat OpenShift Pipelines 1.8에서는
PipelineResource
CR(사용자 정의 리소스)을 사용할 수 있지만 더 이상 지원되지 않습니다.PipelineResource
CR은 기술 프리뷰 기능과tekton.dev/v1alpha1
API의 일부였으며 향후 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 더 이상 사용되지 않고 제거될 예정입니다. -
Red Hat OpenShift Pipelines 1.8에서는
Condition
CR(사용자 정의 리소스)이 제거됩니다.Condition
CR은 더 이상 사용되지 않으며 향후 Red Hat OpenShift Pipelines GA 1.9 릴리스에서 제거될 예정인tekton.dev/v1alpha1
API의 일부였습니다. -
Red Hat OpenShift Pipelines 1.8에서는
gsutil
의gcr.io
이미지가 제거되었습니다. 이러한 제거를 통해 이 이미지를 사용하는Pipeline
리소스가 포함된 클러스터를 중단할 수 있습니다. 버그 수정 및 지원은 Red Hat OpenShift Pipelines 1.7 라이프 사이클 종료 시에만 제공됩니다.
-
Red Hat OpenShift Pipelines 1.8에서
PipelineRun.Status.TaskRuns
및PipelineRun.Status.Runs
필드는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. PipelineRuns의 TEP-0100: Cryostat TaskRuns 및 Runs Status 를 참조하십시오. Red Hat OpenShift Pipelines 1.8에서는
pipelineRunCancelled
상태가 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.PipelineRun
오브젝트의 정상 종료가 이제 알파 기능에서 안정적인 기능으로 확장됩니다. ( TEP-0058: Graceful Pipeline Run Termination 을 참조하십시오.) 또는pipelineRunCancelled
상태를
대체하는 Cancelled 상태를 사용할 수 있습니다.Pipeline
및Task
리소스를 변경할 필요가 없습니다. 파이프라인 실행을 취소하는 도구가 있는 경우 다음 릴리스에서 툴을 업데이트해야 합니다. 이 변경 사항은 새로운PipelineRun
상태를 지원하도록 CLI, IDE 확장 등과 같은 툴에도 영향을 미칩니다.이 기능은 기본적으로 사용할 수 있으므로
TektonConfig
사용자 정의 리소스 정의에서 더 이상pipeline.enable-api-fields
필드를alpha
로 설정할 필요가 없습니다.Red Hat OpenShift Pipelines 1.8에서
PipelineRun
의timeout
필드가 더 이상 사용되지 않습니다. 대신, 이제 alpha 기능에서 안정적인 기능으로 승격되는PipelineRun.Timeouts
필드를 사용합니다.이 기능은 기본적으로 사용할 수 있으므로
TektonConfig
사용자 정의 리소스 정의에서 더 이상pipeline.enable-api-fields
필드를alpha
로 설정할 필요가 없습니다.-
Red Hat OpenShift Pipelines 1.8에서
init
컨테이너는LimitRange
오브젝트의 기본 요청 계산에서 생략됩니다.
1.10.4. 확인된 문제
s2i-nodejs
파이프라인은nodejs:14-ubi8-minimal
이미지 스트림을 사용하여 S2I(Source-to-Image) 빌드를 수행할 수 없습니다. 해당 이미지 스트림을 사용하면STEP "RUN /usr/libexec/s2i/assemble": 종료 상태 127 메시지에서 오류 빌드
가 생성됩니다.해결방법:
nodejs:14-ubi8-minimal
이미지 스트림 대신nodejs:14-ubi8
을 사용합니다.
Maven 및 Jib-Maven 클러스터 작업을 실행하면 기본 컨테이너 이미지가 Intel(x86) 아키텍처에서만 지원됩니다. 따라서 ARM, IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x) 클러스터에서 작업이 실패합니다.
해결방법:
MAVEN_IMAGE
매개변수 값을maven:3.6.3-adoptopenjdk-11
으로 설정하여 사용자 지정 이미지를 지정합니다.작은 정보ARM, IBM Power Systems(ppc64le), IBM Z 및 LinuxONE(s390x)을 기반으로 하는 작업을 설치하기 전에 이러한 플랫폼에서 작업을 실행할 수 있는지 확인합니다.
작업 정보의 "Platforms" 섹션에
ppc64le
및s390x
가 나열되어 있는지 확인하려면tkn hub info task <name> 명령을 실행하면 됩니다.
-
ARM, IBM Power Systems, IBM Z 및 LinuxONE에서는
s2i-dotnet
클러스터 작업이 지원되지 않습니다.
-
암시적 매개변수 매핑은 최상위
Pipeline
또는PipelineRun
정의에서taskRef
작업으로 매개변수를 잘못 전달합니다. 매핑은 최상위 리소스에서 인라인taskSpec
사양이 있는 작업으로만 발생해야 합니다. 이 문제는TektonConfig
사용자 정의 리소스 정의의파이프라인
섹션에서enable-api-fields
필드를alpha
로 설정하여 이 기능을 활성화한 클러스터에만 영향을 미칩니다.
1.10.5. 해결된 문제
- 이번 업데이트 이전에는 웹 콘솔의 개발자 보기에서 파이프라인 실행 메트릭이 불완전하고 오래되었습니다. 이번 업데이트를 통해 메트릭이 올바르도록 문제가 해결되었습니다.
-
이번 업데이트 이전에는 파이프라인에 실패한 두 개의 병렬 작업이 있고 그 중 하나에
retries=2
가 있는 경우 최종 작업이 실행되지 않았으며 파이프라인이 시간 초과되어 실행되지 않았습니다. 예를 들어pipelines-operator-subscription
작업이 간헐적으로 실패했습니다.Unable to connect to the server: EOF
. 이번 업데이트를 통해 최종 작업이 항상 실행되도록 문제가 해결되었습니다. -
이번 업데이트 이전에는 작업 실행이 실패했기 때문에 파이프라인 실행이 중지된 경우 다른 작업 실행이 재시도를 완료하지 못할 수 있습니다. 결과적으로
finally
작업이 예약되지 않아 파이프라인이 중단되었습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다.TaskRuns
및Run
오브젝트는 정상 중지를 통해 파이프라인 실행이 중지되었을 때 다시 시도하여 파이프라인 실행을 완료할 수 있습니다. -
이번 업데이트에서는
TaskRun
오브젝트가 존재하는 네임스페이스에 하나 이상의LimitRange
오브젝트가 있을 때 리소스 요구 사항을 계산하는 방법이 변경됩니다. 스케줄러는 이제단계
컨테이너를 고려하고LimitRange
오브젝트의 요청을 인수할 때 사이드카 컨테이너와 같은 기타 모든 앱 컨테이너를 제외합니다. -
이번 업데이트 이전에는 특정 조건에서는 이중 대시 플래그 용어집에 따라 플래그 패키지가 하위 명령을 즉시 구문 분석할 수 있었습니다.
--
. 이 경우 실제 명령이 아닌 entrypoint 하위 명령을 실행했습니다. 이번 업데이트에서는 진입점이 올바른 명령을 실행하도록 이 플래그 구문 분석 문제가 해결되었습니다. -
이번 업데이트 이전에는 이미지를 가져오는 데 실패한 경우 컨트롤러에서 여러 패닉을 생성할 수 있거나 풀 상태가 불완전할 수 있습니다. 이번 업데이트에서는
status.TaskSpec
값이 아닌step.ImageID
값을 확인하여 문제를 해결합니다. -
이번 업데이트 이전에는 예약되지 않은 사용자 정의 작업이 포함된 파이프라인 실행을 취소하면
PipelineRunCouldntCancel
오류가 발생했습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 해당 오류를 생성하지 않고 일정하지 않은 사용자 지정 작업이 포함된 파이프라인 실행을 취소할 수 있습니다. 이번 업데이트 이전에는
$params["<
> 또는NAME
>"]의 <NAME$params['<NAME>']
에 점 문자(.
. )가 포함되어 있는 경우 점 오른쪽의 이름 부분이 추출되지 않았습니다. 예를 들어$params["
에서 조직만 추출되었습니다.org
.ipsum.lorem"]이번 업데이트에서는
$params
가 전체 값을 가져오도록 문제가 해결되었습니다. 예를 들어$params["org.ipsum.lorem"]
및$params['org.ipsum.lorem']
은 유효하고 <NAME
> ,org.ipsum.lorem
의 전체 값이 추출됩니다.<
NAME
>이 작은따옴표 또는 큰따옴표로 묶지 않은 경우에도 오류가 발생합니다. 예를 들어$params.org.ipsum.lorem
이 유효하지 않으며 검증 오류가 생성됩니다.
-
이번 업데이트를 통해
Trigger
리소스는 사용자 정의 인터셉터를 지원하고 사용자 정의 인터셉터 서비스의 포트가ClusterInterceptor
정의 파일의 포트와 동일한지 확인합니다.
-
이번 업데이트 이전에는 Tekton 체인 및 Operator 구성 요소에 대한
tkn version
명령이 제대로 작동하지 않았습니다. 이번 업데이트에서는 명령이 올바르게 작동하고 해당 구성 요소에 대한 버전 정보를 반환하도록 문제가 해결되었습니다. -
이번 업데이트 이전에는
tkn pr delete --ignore-running
명령을 실행하고 파이프라인 실행에status.condition
값이 없는 경우tkn
CLI 툴에서 null 포인터 오류(NPE)를 생성했습니다. 이번 업데이트에서는 CLI 툴이 오류를 생성하고 아직 실행 중인 파이프라인 실행을 올바르게 무시하도록 문제가 해결되었습니다. -
이번 업데이트 이전에는
tkn pr delete --keep <value
> 또는tkn tr delete --keep <value
> 명령을 사용한 후 파이프라인 실행 또는 작업 실행 수가 값보다 작으면 명령에서 예상대로 오류를 반환하지 않았습니다. 이번 업데이트에서는 명령이 해당 조건에서 오류를 올바르게 반환하도록 문제가 해결되었습니다. -
이번 업데이트 이전에는
--ignore-running
플래그와 함께tkn pr delete
또는tkn tr delete
명령을-p
또는-t
플래그와 함께 사용하는 경우 명령은 실행 중 또는 보류 중인 리소스를 잘못 삭제했습니다. 이번 업데이트에서는 이러한 명령이 실행 중이거나 보류 중인 리소스를 올바르게 무시하도록 문제가 해결되었습니다.
-
이번 업데이트를 통해 Tekton Cryostat 사용자 정의 리소스를 사용하여
Tekton 체인을 구성할
수 있습니다. 이 기능을 사용하면 업그레이드 중에 덮어쓰는chain-config
구성 맵과 달리 업그레이드 후에도 구성이 유지될 수 있습니다. -
이번 업데이트를 통해
buildah
및s2i
클러스터 작업을 제외하고ClusterTask
리소스가 기본적으로 root로 실행되지 않습니다. -
이번 업데이트 이전에는
init
을 첫 번째 인수로 사용할 때 Red Hat OpenShift Pipelines 1.7.1의 작업이 실패하고 두 개 이상의 인수가 실패했습니다. 이번 업데이트를 통해 플래그가 올바르게 구문 분석되고 작업 실행이 성공적으로 수행됩니다. 이번 업데이트 이전에는 OpenShift Container Platform 4.9 및 4.10에 Red Hat OpenShift Pipelines Operator를 설치하는 데 실패했습니다. 잘못된 역할 바인딩으로 인해 다음 오류 메시지가 표시됩니다.
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef
이번 업데이트에서는 오류가 더 이상 발생하지 않도록 문제가 해결되었습니다.
-
이전 버전에서는 Red Hat OpenShift Pipelines Operator 업그레이드로 인해
파이프라인
서비스 계정이 다시 생성되어 서비스 계정에 연결된 보안이 손실되었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 업그레이드 중에 Operator가 더 이상파이프라인
서비스 계정을 다시 생성하지 않습니다. 결과적으로파이프라인
서비스 계정에 연결된 보안은 업그레이드 후에도 유지되며 리소스(tasks 및 pipelines)가 계속 올바르게 작동합니다. -
이번 업데이트를 통해 인프라 노드 설정이
TektonConfig
CR(사용자 정의 리소스)에 구성된 경우 코드 Pod로 파이프라인이 인프라 노드에서 실행됩니다. 이전에는 리소스 정리기를 사용하여 각 네임스페이스 Operator에서 별도의 컨테이너에서 실행되는 명령을 생성했습니다. 이 설계에서는 네임스페이스 수가 많은 클러스터에서 너무 많은 리소스를 소비했습니다. 예를 들어 단일 명령을 실행하기 위해 1000개의 네임스페이스가 있는 클러스터에서 Pod에 1000개의 컨테이너가 생성되었습니다.
이번 업데이트에서는 이 문제가 해결되었습니다. 네임스페이스 기반 구성을 작업에 전달하여 모든 명령이 루프에서 하나의 컨테이너에서 실행되도록 합니다.
-
Tekton 체인에서는 작업 및 이미지에 서명하는 데 사용되는 키를 보유하려면
signing-secrets
라는 시크릿을 정의해야 합니다. 그러나 이번 업데이트 이전에는 Red Hat OpenShift Pipelines Operator가 이 시크릿을 재설정하거나 덮어쓰고 키가 손실되었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 이제 Operator를 통해 Tekton 체인을 설치한 후 보안이 구성되면 시크릿이 유지되고 업그레이드로 덮어쓰지 않습니다. 이번 업데이트 이전에는 모든 S2I 빌드 작업이 다음 메시지와 유사한 오류로 실패했습니다.
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
이번 업데이트를 통해 SCC(Security Context Constraints)가
Buildah
및S2I
클러스터 작업에 필요한SETFCAP
기능과 호환됩니다.결과적으로
Buildah
및S2I
빌드 작업이 성공적으로 실행될 수 있습니다.다양한 언어 및 프레임워크로 작성된 애플리케이션에 대한
Buildah
클러스터 작업 및S2I
빌드 작업을 성공적으로 실행하려면빌드
및푸시
와 같은 적절한단계
오브젝트에 대해 다음 스니펫을 추가합니다.securityContext: capabilities: add: ["SETFCAP"]
- 이번 업데이트 이전에는 Red Hat OpenShift Pipelines Operator를 설치하는 데 예상보다 오래 걸렸습니다. 이번 업데이트에서는 설치 프로세스의 속도를 높이기 위해 일부 설정을 최적화합니다.
-
이번 업데이트를 통해 Buildah 및 S2I 클러스터 작업에는 이전 버전보다 더 적은 단계가 있습니다.
ResourceQuota
및LimitRange
오브젝트에서 더 잘 작동하며 필요한 것보다 더 많은 리소스가 필요하지 않도록 일부 단계가 단일 단계로 결합되었습니다. -
이번 업데이트에서는 클러스터 작업에서 Buildah,
tkn
CLI 툴 및skopeo
CLI 툴 버전을 업그레이드합니다. -
이번 업데이트 이전에는 네임스페이스가
Terminating
상태인 경우 RBAC 리소스를 생성할 때 Operator가 실패했습니다. 이번 업데이트를 통해 Operator는Terminating
상태의 네임스페이스를 무시하고 RBAC 리소스를 생성합니다. -
이번 업데이트 이전에는 정리 cronjob의 Pod가 예상대로 인프라 노드에 예약되지 않았습니다. 대신 작업자 노드에서 예약되었거나 전혀 예약되지 않았습니다. 이번 업데이트를 통해
TektonConfig
CR(사용자 정의 리소스)에 구성된 경우 이러한 유형의 Pod를 인프라 노드에 예약할 수 있습니다.
1.10.6. Red Hat OpenShift Pipelines General Availability 1.8.1 릴리스 노트
이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.8.1은 OpenShift Container Platform 4.10, 4.11 및 4.12에서 사용할 수 있습니다.
1.10.6.1. 확인된 문제
기본적으로 컨테이너는 보안을 강화하기 위해 제한된 권한을 갖습니다. 제한된 권한은 Red Hat OpenShift Pipelines Operator의 모든 컨트롤러 Pod 및 일부 클러스터 작업에 적용됩니다. 제한된 권한으로 인해
git-clone
클러스터 작업이 특정 구성에서 실패합니다.해결방법: 없음. SRVKP-2634 문제를 추적할 수 있습니다.
설치 프로그램 세트가 failed 상태에 있는 경우
TektonConfig
사용자 정의 리소스의 상태가False
대신True
로 잘못 표시됩니다.예: 실패한 설치 프로그램 세트
$ oc get tektoninstallerset NAME READY REASON addon-clustertasks-nx5xz False Error addon-communityclustertasks-cfb2p True addon-consolecli-ftrb8 True addon-openshift-67dj2 True addon-pac-cf7pz True addon-pipelines-fvllm True addon-triggers-b2wtt True addon-versioned-clustertasks-1-8-hqhnw False Error pipeline-w75ww True postpipeline-lrs22 True prepipeline-ldlhw True rhosp-rbac-4dmgb True trigger-hfg64 True validating-mutating-webhoook-28rf7 True
예: 잘못된
TektonConfig
상태$ oc get tektonconfig config NAME VERSION READY REASON config 1.8.1 True
1.10.6.2. 해결된 문제
-
이번 업데이트 이전에는 실행 중인 파이프라인의 pruner 삭제 작업 실행 및 다음 경고를 표시했습니다.
일부 작업은 상위를 수행하지 않고 완료된 것으로 표시되었습니다
. 이번 업데이트를 통해 pruner는 실행 중인 파이프라인의 일부인 작업 실행을 유지합니다. -
이번 업데이트 이전에는
pipeline-1.8
이 Red Hat OpenShift Pipelines Operator 1.8.x를 설치하기 위한 기본 채널이었습니다. 이번 업데이트를 통해latest
는 기본 채널입니다. - 이번 업데이트 이전에는 코드 컨트롤러 Pod로서의 Pipeline에 사용자가 노출하는 인증서에 액세스할 수 없었습니다. 이번 업데이트를 통해 코드로서의 Pipeline은 자체 서명 또는 사용자 정의 인증서로 보호되는 경로 및 Git 리포지토리에 액세스할 수 있습니다.
- 이번 업데이트 이전에는 Red Hat OpenShift Pipelines 1.7.2에서 1.8.0으로 업그레이드한 후 RBAC 오류로 인해 작업이 실패했습니다. 이번 업데이트를 통해 RBAC 오류 없이 작업이 성공적으로 실행됩니다.
-
이번 업데이트 이전에는
tkn
CLI 툴을 사용하여 유형이배열
인결과
오브젝트가 포함된 작업 실행 및 파이프라인 실행을 제거할 수 없었습니다. 이번 업데이트를 통해tkn
CLI 툴을 사용하여 유형이배열
인결과
오브젝트가 포함된 작업 실행 및 파이프라인 실행을 제거할 수 있습니다. -
이번 업데이트 이전에는 파이프라인 사양에
배열
유형의ENV_VARS
매개변수가 포함된 작업이 포함된 경우 pipeline run failed with the error:invalid input params for task func-buildpacks: param types don't match the user-specified type: [ENV_VARS]
. 이번 업데이트를 통해 이러한 파이프라인 및 작업 사양으로 파이프라인 실행이 실패하지 않습니다. -
이번 업데이트 이전에는 클러스터 관리자가 컨테이너 레지스트리에 액세스하기 위한
Buildah
클러스터 작업에config.json
파일을 제공할 수 없었습니다. 이번 업데이트를 통해 클러스터 관리자는dockerconfig
작업 공간을 사용하여config.json
파일에Buildah
클러스터 작업을 제공할 수 있습니다.
1.10.7. Red Hat OpenShift Pipelines General Availability 1.8.2 릴리스 노트
이번 업데이트를 통해 Red Hat OpenShift Pipelines General Availability (GA) 1.8.2는 OpenShift Container Platform 4.10, 4.11 및 4.12에서 사용할 수 있습니다.
1.10.7.1. 해결된 문제
-
이번 업데이트 이전에는 SSH 키를 사용하여 리포지토리를 복제할 때
git-clone
작업이 실패했습니다. 이번 업데이트를 통해git-init
작업에서 root가 아닌 사용자의 역할이 제거되고 SSH 프로그램이$HOME/.ssh/
디렉터리에서 올바른 키를 확인합니다.