4장. 빌드 [config.openshift.io/v1]
- 설명
- build는 전체 클러스터에 대한 OpenShift 빌드 동작을 구성합니다. 여기에는 BuildConfig 오브젝트에서 재정의할 수 있는 기본 설정이 포함되며 모든 빌드에 적용되는 덮어쓰기가 포함됩니다. 표준 이름은 "클러스터" 호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴) 용 주요 릴리스 내에서 사용할 수 있습니다.
- 유형
-
object
- 필수 항목
-
spec
-
4.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec에는 빌드 컨트롤러 구성에 대한 사용자 설정 가능 값이 있습니다. |
4.1.1. .spec
- 설명
- spec에는 빌드 컨트롤러 구성에 대한 사용자 설정 가능 값이 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| additionalTrustedCA는 빌드 중에 이미지 푸시 및 가져오기에 대해 신뢰해야 하는 추가 CA가 포함된 ConfigMap에 대한 참조입니다. 이 구성 맵의 네임스페이스는 openshift-config입니다. DEPRECATED: 이미지 가져오기 및 푸시를 위한 추가 CA는 대신 image.config.openshift.io/cluster에 설정해야 합니다. |
|
| BuildDefaults는 빌드의 기본 정보를 제어합니다. |
|
| BuildOverrides는 빌드에 대한 덮어쓰기 설정 제어 |
4.1.2. .spec.additionalTrustedCA
- 설명
- additionalTrustedCA는 빌드 중에 이미지 푸시 및 가져오기에 대해 신뢰해야 하는 추가 CA가 포함된 ConfigMap에 대한 참조입니다. 이 구성 맵의 네임스페이스는 openshift-config입니다. DEPRECATED: 이미지 가져오기 및 푸시를 위한 추가 CA는 대신 image.config.openshift.io/cluster에 설정해야 합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
4.1.3. .spec.buildDefaults
- 설명
- BuildDefaults는 빌드의 기본 정보를 제어합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
|
DefaultProxy에는 이미지 풀/push 및 소스 다운로드를 포함하여 모든 빌드 작업에 대한 기본 프록시 설정이 포함되어 있습니다. 빌드 구성의 전략에 |
|
| env는 지정된 변수가 빌드에 없는 경우 빌드에 적용되는 기본 환경 변수 세트입니다. |
|
| EnvVar는 컨테이너에 있는 환경 변수를 나타냅니다. |
|
| GitProxy에는 git 작업에 대한 프록시 설정만 포함되어 있습니다. 설정하면 git clone과 같은 모든 git 명령의 모든 프록시 설정을 덮어씁니다. 여기에 설정되지 않은 값은 DefaultProxy에서 상속됩니다. |
|
| imageLabels는 결과 이미지에 적용되는 Docker 레이블 목록입니다. 사용자는 Build/BuildConfig에 동일한 이름으로 라벨을 제공하여 기본 레이블을 덮어쓸 수 있습니다. |
|
| |
|
| resources는 빌드를 실행하기 위한 리소스 요구 사항을 정의합니다. |
4.1.4. .spec.buildDefaults.defaultProxy
- 설명
-
DefaultProxy에는 이미지 풀/push 및 소스 다운로드를 포함하여 모든 빌드 작업에 대한 기본 프록시 설정이 포함되어 있습니다. 빌드 구성의 전략에
HTTP_PROXY
,HTTPS_PROXY
및NO_PROXY
환경 변수를 설정하여 값을 덮어쓸 수 있습니다. - 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| httpProxy는 HTTP 요청에 대한 프록시의 URL입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| httpsProxy는 HTTPS 요청의 프록시 URL입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| noProxy는 프록시를 사용하지 않아야 하는 쉼표로 구분된 호스트 이름 및/또는 CIDR 및/또는 IP 목록입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| readinessEndpoints는 프록시 준비 상태를 확인하는 데 사용되는 끝점 목록입니다. |
|
| trustedCA는 CA 인증서 번들이 포함된 ConfigMap에 대한 참조입니다. trustedCA 필드는 프록시 검증기에서만 사용해야 합니다. 검증자는 필수 키 "ca-bundle.crt"에서 인증서 번들을 읽고 시스템 기본 신뢰 번들과 병합한 후 "openshift-config-managed" 네임스페이스의 "trusted-ca-bundle"이라는 ConfigMap에 병합된 신뢰 번들을 작성합니다. 프록시 연결을 수행할 것으로 예상되는 클라이언트는 프록시에 대한 모든 HTTPS 요청에 trusted-ca-bundle을 사용해야 하며, 프록시 이외의 HTTPS 요청에도 trusted-ca-bundle을 사용할 수 있습니다. trustedCA에서 참조하는 ConfigMap의 네임스페이스는 "openshift-config"입니다. 다음은 ConfigMap (in yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE---- Custom CA 인증서 번들입니다. -----END CERTIFICATE------END CERTIFICATE------------ |
4.1.5. .spec.buildDefaults.defaultProxy.trustedCA
- 설명
- trustedCA는 CA 인증서 번들이 포함된 ConfigMap에 대한 참조입니다. trustedCA 필드는 프록시 검증기에서만 사용해야 합니다. 검증자는 필수 키 "ca-bundle.crt"에서 인증서 번들을 읽고 시스템 기본 신뢰 번들과 병합한 후 "openshift-config-managed" 네임스페이스의 "trusted-ca-bundle"이라는 ConfigMap에 병합된 신뢰 번들을 작성합니다. 프록시 연결을 수행할 것으로 예상되는 클라이언트는 프록시에 대한 모든 HTTPS 요청에 trusted-ca-bundle을 사용해야 하며, 프록시 이외의 HTTPS 요청에도 trusted-ca-bundle을 사용할 수 있습니다. trustedCA에서 참조하는 ConfigMap의 네임스페이스는 "openshift-config"입니다. 다음은 ConfigMap (in yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-bundle.crt: ca-bundle.crt: \| -----BEGIN CERTIFICATE---- Custom CA 인증서 번들입니다. -----END CERTIFICATE-------END CERTIFICATE---------------------
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
4.1.6. .spec.buildDefaults.env
- 설명
- env는 지정된 변수가 빌드에 없는 경우 빌드에 적용되는 기본 환경 변수 세트입니다.
- 유형
-
array
4.1.7. .spec.buildDefaults.env[]
- 설명
- EnvVar는 컨테이너에 있는 환경 변수를 나타냅니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| 환경 변수의 이름입니다. C_IDENTIFIER여야 합니다. |
|
| 변수 참조 $(VAR_NAME)는 컨테이너에서 이전에 정의한 환경 변수와 서비스 환경 변수를 사용하여 확장됩니다. 변수를 확인할 수 없는 경우 입력 문자열의 참조는 변경되지 않습니다. double은 $(VAR_NAME) 구문을 이스케이프할 수 있는 단일 $로 감소합니다. 즉, "(VAR_NAME)"은 문자열 리터럴 "$(VAR_NAME)"을 생성합니다. 이스케이프된 참조는 변수가 존재하는지 여부에 관계없이 확장되지 않습니다. 기본값은 ""입니다. |
|
| 환경 변수의 값의 소스입니다. 값이 비어 있지 않은 경우 사용할 수 없습니다. |
4.1.8. .spec.buildDefaults.env[].valueFrom
- 설명
- 환경 변수의 값의 소스입니다. 값이 비어 있지 않은 경우 사용할 수 없습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| ConfigMap의 키를 선택합니다. |
|
|
Pod의 필드를 선택합니다. 은 metadata.name, metadata.namespace, |
|
| 컨테이너의 리소스 선택: 리소스 제한 및 요청(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory, requests.ephemeral-storage)만 현재 지원됩니다. |
|
| Pod의 네임스페이스에서 시크릿 키 선택 |
4.1.9. .spec.buildDefaults.env[].valueFrom.configMapKeyRef
- 설명
- ConfigMap의 키를 선택합니다.
- 유형
-
object
- 필수 항목
-
key
-
속성 | 유형 | 설명 |
---|---|---|
|
| 선택할 키입니다. |
|
|
추천자의 이름입니다. 이 필드는 효과적으로 필요하지만 이전 버전과의 호환성으로 인해 비어 있을 수 있습니다. 여기에 빈 값이 있는 이 유형의 인스턴스는 거의 잘못된 것입니다. TODO: 다른 유용한 필드를 추가합니다. apiVersion, kind, uid? 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: controller-gen이 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 가 필요하지 않은 경우 Drop |
|
| ConfigMap 또는 해당 키를 정의해야 하는지 여부를 지정합니다. |
4.1.10. .spec.buildDefaults.env[].valueFrom.fieldRef
- 설명
-
Pod의 필드를 선택합니다. 은 metadata.name, metadata.namespace,
metadata.labels['<KEY>']
,metadata.annotations['<KEY>']
, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs를 선택합니다. - 유형
-
object
- 필수 항목
-
fieldPath
-
속성 | 유형 | 설명 |
---|---|---|
|
| FieldPath가 작성된 스키마의 버전은 기본값은 "v1"입니다. |
|
| 지정된 API 버전에서 선택할 필드의 경로입니다. |
4.1.11. .spec.buildDefaults.env[].valueFrom.resourceFieldRef
- 설명
- 컨테이너의 리소스 선택: 리소스 제한 및 요청(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory, requests.ephemeral-storage)만 현재 지원됩니다.
- 유형
-
object
- 필수 항목
-
resource
-
속성 | 유형 | 설명 |
---|---|---|
|
| 컨테이너 이름: 볼륨에 필요합니다. env vars의 경우 선택 사항 |
|
| 노출된 리소스의 출력 형식을 지정합니다. 기본값은 "1"입니다. |
|
| 필수: 선택할 리소스 |
4.1.12. .spec.buildDefaults.env[].valueFrom.secretKeyRef
- 설명
- Pod의 네임스페이스에서 시크릿 키 선택
- 유형
-
object
- 필수 항목
-
key
-
속성 | 유형 | 설명 |
---|---|---|
|
| 선택할 시크릿의 키입니다. 유효한 시크릿 키여야 합니다. |
|
|
추천자의 이름입니다. 이 필드는 효과적으로 필요하지만 이전 버전과의 호환성으로 인해 비어 있을 수 있습니다. 여기에 빈 값이 있는 이 유형의 인스턴스는 거의 잘못된 것입니다. TODO: 다른 유용한 필드를 추가합니다. apiVersion, kind, uid? 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: controller-gen이 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 가 필요하지 않은 경우 Drop |
|
| 시크릿 또는 해당 키를 정의해야 하는지 여부를 지정합니다. |
4.1.13. .spec.buildDefaults.gitProxy
- 설명
- GitProxy에는 git 작업에 대한 프록시 설정만 포함되어 있습니다. 설정하면 git clone과 같은 모든 git 명령의 모든 프록시 설정을 덮어씁니다. 여기에 설정되지 않은 값은 DefaultProxy에서 상속됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| httpProxy는 HTTP 요청에 대한 프록시의 URL입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| httpsProxy는 HTTPS 요청의 프록시 URL입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| noProxy는 프록시를 사용하지 않아야 하는 쉼표로 구분된 호스트 이름 및/또는 CIDR 및/또는 IP 목록입니다. 비어 있는 것은 설정되지 않으며 env var을 생성하지 않음을 의미합니다. |
|
| readinessEndpoints는 프록시 준비 상태를 확인하는 데 사용되는 끝점 목록입니다. |
|
| trustedCA는 CA 인증서 번들이 포함된 ConfigMap에 대한 참조입니다. trustedCA 필드는 프록시 검증기에서만 사용해야 합니다. 검증자는 필수 키 "ca-bundle.crt"에서 인증서 번들을 읽고 시스템 기본 신뢰 번들과 병합한 후 "openshift-config-managed" 네임스페이스의 "trusted-ca-bundle"이라는 ConfigMap에 병합된 신뢰 번들을 작성합니다. 프록시 연결을 수행할 것으로 예상되는 클라이언트는 프록시에 대한 모든 HTTPS 요청에 trusted-ca-bundle을 사용해야 하며, 프록시 이외의 HTTPS 요청에도 trusted-ca-bundle을 사용할 수 있습니다. trustedCA에서 참조하는 ConfigMap의 네임스페이스는 "openshift-config"입니다. 다음은 ConfigMap (in yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE---- Custom CA 인증서 번들입니다. -----END CERTIFICATE------END CERTIFICATE------------ |
4.1.14. .spec.buildDefaults.gitProxy.trustedCA
- 설명
- trustedCA는 CA 인증서 번들이 포함된 ConfigMap에 대한 참조입니다. trustedCA 필드는 프록시 검증기에서만 사용해야 합니다. 검증자는 필수 키 "ca-bundle.crt"에서 인증서 번들을 읽고 시스템 기본 신뢰 번들과 병합한 후 "openshift-config-managed" 네임스페이스의 "trusted-ca-bundle"이라는 ConfigMap에 병합된 신뢰 번들을 작성합니다. 프록시 연결을 수행할 것으로 예상되는 클라이언트는 프록시에 대한 모든 HTTPS 요청에 trusted-ca-bundle을 사용해야 하며, 프록시 이외의 HTTPS 요청에도 trusted-ca-bundle을 사용할 수 있습니다. trustedCA에서 참조하는 ConfigMap의 네임스페이스는 "openshift-config"입니다. 다음은 ConfigMap (in yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-bundle.crt: ca-bundle.crt: \| -----BEGIN CERTIFICATE---- Custom CA 인증서 번들입니다. -----END CERTIFICATE-------END CERTIFICATE---------------------
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
4.1.15. .spec.buildDefaults.imageLabels
- 설명
- imageLabels는 결과 이미지에 적용되는 Docker 레이블 목록입니다. 사용자는 Build/BuildConfig에 동일한 이름으로 라벨을 제공하여 기본 레이블을 덮어쓸 수 있습니다.
- 유형
-
array
4.1.16. .spec.buildDefaults.imageLabels[]
- 설명
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| name은 레이블의 이름을 정의합니다. 길이가 0이 아니어야 합니다. |
|
| value는 레이블의 리터럴 값을 정의합니다. |
4.1.17. .spec.buildDefaults.resources
- 설명
- resources는 빌드를 실행하기 위한 리소스 요구 사항을 정의합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 클레임은 이 컨테이너에서 사용하는 spec.resourceClaims에 정의된 리소스의 이름을 나열합니다. 이 필드는 alpha 필드이며 DynamicResourceAllocation 기능 게이트를 활성화해야 합니다. 이 필드는 변경할 수 없습니다. 컨테이너에 대해서만 설정할 수 있습니다. |
|
| ResourceClaim은 PodSpec.ResourceClaims에서 하나의 항목을 참조합니다. |
|
| 제한은 허용되는 최대 컴퓨팅 리소스 양을 나타냅니다. 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| 요청은 필요한 최소 컴퓨팅 리소스 양을 설명합니다. 컨테이너에 대한 Requests를 생략하면 구현 정의된 값을 제외하고 명시적으로 지정된 경우 기본값은 Limits로 설정됩니다. 요청은 제한을 초과할 수 없습니다. 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
4.1.18. .spec.buildDefaults.resources.claims
- 설명
- 클레임은 이 컨테이너에서 사용하는 spec.resourceClaims에 정의된 리소스의 이름을 나열합니다. 이 필드는 alpha 필드이며 DynamicResourceAllocation 기능 게이트를 활성화해야 합니다. 이 필드는 변경할 수 없습니다. 컨테이너에 대해서만 설정할 수 있습니다.
- 유형
-
array
4.1.19. .spec.buildDefaults.resources.claims[]
- 설명
- ResourceClaim은 PodSpec.ResourceClaims에서 하나의 항목을 참조합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 이 필드가 사용되는 Pod의 pod.spec.resourceClaims에서 하나의 항목 이름과 일치해야 합니다. 컨테이너 내에서 해당 리소스를 사용할 수 있도록 합니다. |
4.1.20. .spec.buildOverrides
- 설명
- BuildOverrides는 빌드에 대한 덮어쓰기 설정 제어
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| forcePull overrides, if set, the equivalent value in the builds, i.e. false disables force pull for all builds, true enables force pull for all builds, independently of each build specifies itself |
|
| imageLabels는 결과 이미지에 적용되는 Docker 레이블 목록입니다. 사용자가 이 목록에 있는 것과 동일한 이름으로 Build/BuildConfig에 레이블을 제공한 경우 사용자의 레이블을 덮어씁니다. |
|
| |
|
| nodeSelector는 빌드 Pod가 노드에 적합하도록 true여야 하는 선택기입니다. |
|
| 허용 오차는 빌드 Pod에 설정된 기존 허용 오차를 재정의하는 허용 목록입니다. |
|
| 이 허용 오차는 일치하는 연산자 <operator>를 사용하여 트리플 <key,value,effect>와 일치하는 테인트를 허용하도록 연결됩니다. |
4.1.21. .spec.buildOverrides.imageLabels
- 설명
- imageLabels는 결과 이미지에 적용되는 Docker 레이블 목록입니다. 사용자가 이 목록에 있는 것과 동일한 이름으로 Build/BuildConfig에 레이블을 제공한 경우 사용자의 레이블을 덮어씁니다.
- 유형
-
array
4.1.22. .spec.buildOverrides.imageLabels[]
- 설명
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| name은 레이블의 이름을 정의합니다. 길이가 0이 아니어야 합니다. |
|
| value는 레이블의 리터럴 값을 정의합니다. |
4.1.23. .spec.buildOverrides.tolerations
- 설명
- 허용 오차는 빌드 Pod에 설정된 기존 허용 오차를 재정의하는 허용 목록입니다.
- 유형
-
array
4.1.24. .spec.buildOverrides.tolerations[]
- 설명
- 이 허용 오차는 일치하는 연산자 <operator>를 사용하여 트리플 <key,value,effect>와 일치하는 테인트를 허용하도록 연결됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| effect는 일치시킬 테인트 효과를 나타냅니다. 비어있는 것은 모든 테인트 효과와 일치함을 의미합니다. 지정된 경우 허용되는 값은 NoSchedule, PreferNoSchedule 및 NoExecute입니다. |
|
| 키는 허용 오차가 적용되는 taint 키입니다. 비어있는 것은 모든 taint 키와 일치함을 의미합니다. 키가 비어 있으면 연산자가 Exists여야 합니다. 이 조합은 모든 값과 모든 키와 일치하는 것을 의미합니다. |
|
| Operator는 값에 대한 키의 관계를 나타냅니다. 유효한 연산자는 Exists 및 Equal입니다. 기본값은 Equal입니다. exists는 값에 대한 와일드카드와 동일하므로 Pod에서 특정 카테고리의 모든 테인트를 허용할 수 있습니다. |
|
| tolerationSeconds는 허용 오차(영향이 NoExecute여야 하며, 그렇지 않으면 이 필드가 무시됨) 테인트를 허용하는 기간을 나타냅니다. 기본적으로 설정되어 있지 않습니다. 즉, 테인트를 영구적으로 허용합니다(제거되지 않음). 0 및 음수 값은 시스템에서 0( 즉시 제거)으로 처리됩니다. |
|
| 값은 허용 오차와 일치하는 taint 값입니다. 연산자가 Exists인 경우 값은 비어 있어야 합니다. 그렇지 않으면 일반 문자열만 사용해야 합니다. |