검색

3.9. 빌드 실행 상태

download PDF

BuildRun 리소스는 다음 예와 같이 이미지 빌드 상태가 변경될 때마다 업데이트됩니다.

예: 알 수 없는 상태로 빌드

$ oc get buildrun buildah-buildrun-mp99r
NAME                    SUCCEEDED   REASON    STARTTIME   COMPLETIONTIME
buildah-buildrun-mp99r  Unknown     Unknown      1s

예: True 상태로 BuildRun

$ oc get buildrun buildah-buildrun-mp99r
NAME                   SUCCEEDED   REASON     STARTTIME   COMPLETIONTIME
buildah-buildrun-mp99r  True        Succeeded      29m       20m

BuildRun 리소스는 상태 관련 정보를 status.conditions 필드에 저장합니다. 예를 들어 Succeeded 유형의 조건은 리소스가 작업을 성공적으로 완료했음을 나타냅니다. status.conditions 필드에는 BuildRun 리소스의 status, reason, message와 같은 중요한 정보가 포함됩니다.

3.9.1. 빌드 실행 상태 설명

BuildRun CR(사용자 정의 리소스)은 이미지 빌드 프로세스 중에 다른 상태를 가질 수 있습니다. 다음 표에서는 빌드 실행의 다양한 상태에 대해 설명합니다.

표 3.2. 빌드 실행의 상태
상태원인설명

알 수 없음

보류 중

BuildRun 리소스는 Pod 상태가 Pending 임을 기다립니다.

알 수 없음

Running

BuildRun 리소스의 유효성이 검사되었으며 작업을 수행하기 시작했습니다.

알 수 없음

BuildRunCanceled

사용자가 빌드 실행을 취소하도록 요청했습니다. 이 요청은 빌드 실행 컨트롤러를 트리거하여 관련 작업 실행 취소를 요청합니다. 이 상태가 있는 경우에도 취소가 진행 중입니다.

True

succeeded

BuildRun 리소스의 Pod가 생성됩니다.

False

Failed

단계 중 하나에서 BuildRun 리소스가 실패합니다.

False

BuildRunTimeout

BuildRun 리소스의 실행이 시간 초과됩니다.

False

UnknownStrategyKind

Kind 필드에 정의된 전략 유형은 알 수 없습니다. 이러한 전략 유형인 ClusterBuildStrategyBuildStrategy 를 정의할 수 있습니다.

False

ClusterBuildStrategyNotFound

참조된 클러스터 범위 전략이 클러스터에서 찾을 수 없습니다.

False

BuildStrategyNotFound

참조된 네임스페이스 범위 전략이 클러스터에서 찾을 수 없습니다.

False

SetOwnerReferenceFailed

BuildRun 리소스에서 ownerReferences 필드를 관련 TaskRun 리소스로 설정하지 못했습니다.

False

TaskRunIsMissing

BuildRun 리소스와 관련된 TaskRun 리소스를 찾을 수 없습니다.

False

TaskRunGenerationFailed

TaskRun 사양 생성에 실패했습니다.

False

MissingParameterValues

기본값 없이 빌드 전략에 정의된 일부 매개변수에 대한 값을 제공하지 않았습니다. Build 또는 BuildRun CR에서 해당 매개변수의 값을 제공해야 합니다.

False

RestrictedParametersInUse

시스템 매개 변수의 값이 제공되었습니다. 이 값은 허용되지 않습니다.

False

UndefinedParameter

빌드 전략에 정의되지 않은 매개변수 값이 제공되었습니다.

False

WrongParameterValueType

잘못된 유형의 빌드 전략 매개변수에 대한 값이 제공되었습니다. 예를 들어 매개변수가 빌드 전략에서 배열 또는 문자열로 정의된 경우 그에 따라 값 집합 또는 직접 값을 제공해야 합니다.

False

InconsistentParameterValues

매개변수 값에는 값 ,configMapValue, secretValue 등 두 개 이상의 값이 포함되어 있습니다. 일관성을 유지하려면 언급된 값 중 하나만 제공해야 합니다.

False

EmptyArrayItemParameterValues

array 매개변수의 값에는 값 ,configMapValue, secretValue 라는 값이 포함되어 있지 않습니다. 언급된 값 중 하나만 null 배열 항목이 허용되지 않으므로 제공해야 합니다.

False

IncompleteConfigMapValueParameterValues

매개변수 값에는 이름 또는 value 필드가 비어 있는 configMapValue 값이 포함되어 있습니다. 네임스페이스의 기존 구성 맵 키를 가리키는 빈 필드를 지정해야 합니다.

False

IncompleteSecretValueParameterValues

매개변수 값에는 이름 또는 value 필드가 비어 있는 secretValue 값이 포함되어 있었습니다. 네임스페이스의 기존 시크릿 키를 가리키도록 빈 필드를 지정해야 합니다.

False

ServiceAccountNotFound

참조된 서비스 계정이 클러스터에서 찾을 수 없습니다.

False

BuildRegistrationFailed

BuildRun 리소스의 참조된 빌드는 Failed 상태입니다.

False

BuildNotFound

BuildRun 리소스에서 참조된 빌드를 찾을 수 없습니다.

False

BuildRunCanceled

BuildRun 및 관련 TaskRun 리소스가 성공적으로 취소되었습니다.

False

BuildRunNameInvalid

metadata.name 필드에 정의된 빌드 실행 이름이 유효하지 않습니다. BuildRun CR에서 빌드 실행 이름에 유효한 라벨 값을 제공해야 합니다.

False

BuildRunNoRefOrSpec

BuildRun 리소스에 spec.build.name 또는 spec.build.spec 필드가 정의되어 있지 않습니다.

False

BuildRunAmbiguousBuild

정의된 BuildRun 리소스는 spec.build.namespec.build.spec 필드를 모두 사용합니다. 매개 변수 중 하나만 한 번에 허용됩니다.

False

BuildRunBuildFieldOverrideForbidden

정의된 spec.build.name 필드는 허용되지 않는 spec.build.spec 필드와 함께 재정의를 사용합니다. spec.build.spec 필드를 사용하여 해당 값을 직접 지정합니다.

False

PodEvicted

빌드 실행 Pod가 실행 중인 노드에서 제거되었습니다.

3.9.2. 빌드 실행 실패

빌드 실행에 실패하면 BuildRun CR의 status.failure Details 필드를 확인하여 Pod 또는 컨테이너에서 오류가 발생한 정확한 지점을 확인할 수 있습니다. status.failureDetails 필드에는 오류 메시지와 실패 이유가 포함됩니다. 빌드 전략에 정의된 경우 메시지와 실패 이유만 표시됩니다.

다음 예제에서는 실패한 빌드 실행을 보여줍니다.

# ...
status:
  # ...
  failureDetails:
    location:
      container: step-source-default
      pod: baran-build-buildrun-gzmv5-b7wbf-pod-bbpqr
    message: The source repository does not exist, or you have insufficient permission
      to access it.
    reason: GitRemotePrivate
참고

status.failureDetails 필드는 Git과 관련된 모든 작업에 대한 오류 세부 정보도 제공합니다.

3.9.3. 단계적 결과 빌드 실행 상태가

BuildRun 리소스의 실행을 완료한 후 .status 필드에 빌드 실행 컨트롤러에서 생성된 단계에서 .status.taskResults 결과가 포함됩니다. 결과에는 이미지 다이제스트 또는 이미지 빌드에 사용되는 소스 코드의 커밋 SHA가 포함됩니다. BuildRun 리소스에서 .status.sources 필드에는 소스 단계 실행의 결과가 포함되어 있으며 .status.output 필드에는 출력 단계의 실행 결과가 포함됩니다.

다음 예제에서는 Git 소스에 대한 단계 결과가 있는 BuildRun 리소스를 보여줍니다.

예: Git 소스에 대한 단계 결과가 있는 BuildRun 리소스

# ...
status:
  buildSpec:
    # ...
  output:
    digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53
    size: 1989004
  sources:
  - name: default
    git:
      commitAuthor: xxx xxxxxx
      commitSha: f25822b85021d02059c9ac8a211ef3804ea8fdde
      branchName: main

다음 예제에서는 로컬 소스 코드에 대한 단계 결과가 있는 BuildRun 리소스를 보여줍니다.

예: 로컬 소스 코드에 대한 단계 결과가 있는 BuildRun 리소스

# ...
status:
  buildSpec:
    # ...
  output:
    digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53
    size: 1989004
  sources:
  - name: default
    bundle:
      digest: sha256:0f5e2070b534f9b880ed093a537626e3c7fdd28d5328a8d6df8d29cd3da760c7

참고

빌드 전략에 정의된 경우에만 출력 이미지의 다이제스트와 크기가 표시됩니다.

3.9.4. 빌드 스냅샷

각 빌드 실행 조정에 대해 기존 작업 실행이 해당 빌드 실행의 일부인 경우 BuildRun 리소스 상태의 buildSpec 필드가 업데이트됩니다.

이번 업데이트 중에 Build 리소스 스냅샷은 BuildRun 리소스의 status.buildSpec 필드를 생성하고 포함합니다. 이로 인해 buildSpec 필드에는 특정 이미지 빌드를 실행하는 데 사용된 원래 Build 사양의 정확한 사본이 포함되어 있습니다. 빌드 스냅샷을 사용하면 원래 Build 리소스 구성을 볼 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.