第 4 章 Build [config.openshift.io/v1]


描述
build 配置整个集群的 OpenShift 构建的行为。这包括可在 BuildConfig 对象中覆盖的默认设置,以及应用到所有构建的覆盖。规范名称是"集群"兼容性级别 1:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

4.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

spec 包含构建控制器配置的 user-settable 值

4.1.1. .spec

描述
spec 包含构建控制器配置的 user-settable 值
类型
object
属性类型描述

additionalTrustedCA

对象

additionalTrustedCA 是对包含额外 CA 的 ConfigMap 的引用,该 CA 应该信任在构建期间进行镜像推送和拉取。此配置映射的命名空间是 openshift-config。DEPRECATED :应在 image.config.openshift.io/cluster 上设置镜像拉取(pull)和推送的额外 CA。

buildDefaults

对象

buildDefaults 控制构建的默认信息

buildOverrides

对象

buildOverrides 控制构建的覆盖设置

4.1.2. .spec.additionalTrustedCA

描述
additionalTrustedCA 是对包含额外 CA 的 ConfigMap 的引用,该 CA 应该信任在构建期间进行镜像推送和拉取。此配置映射的命名空间是 openshift-config。DEPRECATED :应在 image.config.openshift.io/cluster 上设置镜像拉取(pull)和推送的额外 CA。
类型
object
必填
  • name
属性类型描述

name

字符串

name 是引用的配置映射的 metadata.name

4.1.3. .spec.buildDefaults

描述
buildDefaults 控制构建的默认信息
类型
object
属性类型描述

defaultProxy

对象

defaultProxy 包含所有构建操作的默认代理设置,包括镜像拉取/推送和源下载。通过在构建配置的策略中设置 HTTP_PROXYHTTPS_PROXYNO_PROXY 环境变量,可以覆盖值。

env

array

env 是一组默认环境变量,如果构建中不存在指定变量,则会应用到构建

env[]

对象

EnvVar 代表容器中存在的环境变量。

gitProxy

对象

gitProxy 仅包含 git 操作的代理设置。如果设置,这将覆盖所有 git 命令的任何代理设置,如 git clone。此处未设置的值将从 DefaultProxy 继承。

imageLabels

array

imageLabels 是应用到生成的镜像的 docker 标签列表。用户可以通过在其 Build/BuildConfig 中提供名称相同的标签来覆盖默认标签。

imageLabels[]

对象

 

资源

对象

资源定义执行构建的资源要求。

4.1.4. .spec.buildDefaults.defaultProxy

描述
defaultProxy 包含所有构建操作的默认代理设置,包括镜像拉取/推送和源下载。通过在构建配置的策略中设置 HTTP_PROXYHTTPS_PROXYNO_PROXY 环境变量,可以覆盖值。
类型
object
属性类型描述

httpProxy

字符串

httpProxy 是 HTTP 请求的代理 URL。空表示未设置,不会导致 env var。

httpsProxy

字符串

httpsProxy 是 HTTPS 请求的代理 URL。空表示未设置,不会导致 env var。

noProxy

字符串

noProxy 是不应使用代理的主机名和/或 CIDR 和/或 IP 的逗号分隔列表。空表示未设置,不会导致 env var。

readinessEndpoints

数组(字符串)

readinessEndpoints 是用于验证代理的就绪状态的端点列表。

trustedCA

对象

trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应当仅由代理验证器使用。验证器负责从所需的键 "ca-bundle.crt" 中读取证书捆绑包,将其与系统默认信任捆绑包合并,并在 "openshift-config-managed" 命名空间中写入名为 "trusted-ca-bundle" 的 ConfigMap 中。希望进行代理连接的客户端必须将 trusted-ca-bundle 用于代理的所有 HTTPS 请求,并将 trusted-ca-bundle 用于非代理 HTTPS 请求。被 trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。以下是一个 ConfigMap 示例(在 yaml 中): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE----- Custom CA certificate bundle. -----END CERTIFICATE-----

4.1.5. .spec.buildDefaults.defaultProxy.trustedCA

描述
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应当仅由代理验证器使用。验证器负责从所需的键 "ca-bundle.crt" 中读取证书捆绑包,将其与系统默认信任捆绑包合并,并在 "openshift-config-managed" 命名空间中写入名为 "trusted-ca-bundle" 的 ConfigMap 中。希望进行代理连接的客户端必须将 trusted-ca-bundle 用于代理的所有 HTTPS 请求,并将 trusted-ca-bundle 用于非代理 HTTPS 请求。被 trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。以下是一个 ConfigMap 示例(在 yaml 中): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- Custom CA certificate bundle. -----END CERTIFICATE-----
类型
object
必填
  • name
属性类型描述

name

字符串

name 是引用的配置映射的 metadata.name

4.1.6. .spec.buildDefaults.env

描述
env 是一组默认环境变量,如果构建中不存在指定变量,则会应用到构建
类型
array

4.1.7. .spec.buildDefaults.env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

环境变量的名称。必须是 C_IDENTIFIER。

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。

valueFrom

对象

环境变量的值的源。如果值不为空,则无法使用。

4.1.8. .spec.buildDefaults.env[].valueFrom

描述
环境变量的值的源。如果值不为空,则无法使用。
类型
object
属性类型描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

对象

选择容器的资源:当前仅支持资源限值和请求(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage)。

secretKeyRef

对象

在 pod 命名空间中选择 secret 的键

4.1.9. .spec.buildDefaults.env[].valueFrom.configMapKeyRef

描述
选择 ConfigMap 的键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 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
属性类型描述

apiVersion

字符串

模式的版本是按术语编写的 FieldPath,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

4.1.11. .spec.buildDefaults.env[].valueFrom.resourceFieldRef

描述
选择容器的资源:当前仅支持资源限值和请求(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage)。
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷需要,对于 env vars是可选的

divisor

integer-or-string

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

4.1.12. .spec.buildDefaults.env[].valueFrom.secretKeyRef

描述
在 pod 命名空间中选择 secret 的键
类型
object
必填
  • key
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

4.1.13. .spec.buildDefaults.gitProxy

描述
gitProxy 仅包含 git 操作的代理设置。如果设置,这将覆盖所有 git 命令的任何代理设置,如 git clone。此处未设置的值将从 DefaultProxy 继承。
类型
object
属性类型描述

httpProxy

字符串

httpProxy 是 HTTP 请求的代理 URL。空表示未设置,不会导致 env var。

httpsProxy

字符串

httpsProxy 是 HTTPS 请求的代理 URL。空表示未设置,不会导致 env var。

noProxy

字符串

noProxy 是不应使用代理的主机名和/或 CIDR 和/或 IP 的逗号分隔列表。空表示未设置,不会导致 env var。

readinessEndpoints

数组(字符串)

readinessEndpoints 是用于验证代理的就绪状态的端点列表。

trustedCA

对象

trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应当仅由代理验证器使用。验证器负责从所需的键 "ca-bundle.crt" 中读取证书捆绑包,将其与系统默认信任捆绑包合并,并在 "openshift-config-managed" 命名空间中写入名为 "trusted-ca-bundle" 的 ConfigMap 中。希望进行代理连接的客户端必须将 trusted-ca-bundle 用于代理的所有 HTTPS 请求,并将 trusted-ca-bundle 用于非代理 HTTPS 请求。被 trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。以下是一个 ConfigMap 示例(在 yaml 中): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE----- Custom CA certificate bundle. -----END CERTIFICATE-----

4.1.14. .spec.buildDefaults.gitProxy.trustedCA

描述
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应当仅由代理验证器使用。验证器负责从所需的键 "ca-bundle.crt" 中读取证书捆绑包,将其与系统默认信任捆绑包合并,并在 "openshift-config-managed" 命名空间中写入名为 "trusted-ca-bundle" 的 ConfigMap 中。希望进行代理连接的客户端必须将 trusted-ca-bundle 用于代理的所有 HTTPS 请求,并将 trusted-ca-bundle 用于非代理 HTTPS 请求。被 trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。以下是一个 ConfigMap 示例(在 yaml 中): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- Custom CA certificate bundle. -----END CERTIFICATE-----
类型
object
必填
  • name
属性类型描述

name

字符串

name 是引用的配置映射的 metadata.name

4.1.15. .spec.buildDefaults.imageLabels

描述
imageLabels 是应用到生成的镜像的 docker 标签列表。用户可以通过在其 Build/BuildConfig 中提供名称相同的标签来覆盖默认标签。
类型
array

4.1.16. .spec.buildDefaults.imageLabels[]

描述
类型
object
属性类型描述

name

字符串

name 定义标签的名称。它必须具有非零长度。

value

字符串

value 定义标签的字面值。

4.1.17. .spec.buildDefaults.resources

描述
资源定义执行构建的资源要求。
类型
object
属性类型描述

声明

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。它只能为容器设置。

claims[]

object

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

integer-or-string

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

4.1.18. .spec.buildDefaults.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。它只能为容器设置。
类型
数组

4.1.19. .spec.buildDefaults.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。

4.1.20. .spec.buildOverrides

描述
buildOverrides 控制构建的覆盖设置
类型
object
属性类型描述

forcePull

布尔值

forcePull 覆盖(如果设置了)构建中的等效值,即 false 会禁用对所有构建的强制拉取,true 会独立于每个构建指定其自身的强制拉取

imageLabels

array

imageLabels 是应用到生成的镜像的 docker 标签列表。如果用户在其 Build/BuildConfig 中提供了与此列表中名称相同的标签,则用户的标签将被覆盖。

imageLabels[]

对象

 

nodeSelector

对象(字符串)

nodeSelector 是一个选择器,必须为 true 才能使构建 pod 适合节点

容限(tolerations)

array

tolerations (toleration)是一个 Tolerations 列表,它将覆盖构建 pod 上任何现有的容限集。

tolerations[]

对象

此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。

4.1.21. .spec.buildOverrides.imageLabels

描述
imageLabels 是应用到生成的镜像的 docker 标签列表。如果用户在其 Build/BuildConfig 中提供了与此列表中名称相同的标签,则用户的标签将被覆盖。
类型
array

4.1.22. .spec.buildOverrides.imageLabels[]

描述
类型
object
属性类型描述

name

字符串

name 定义标签的名称。它必须具有非零长度。

value

字符串

value 定义标签的字面值。

4.1.23. .spec.buildOverrides.tolerations

描述
tolerations (toleration)是一个 Tolerations 列表,它将覆盖构建 pod 上任何现有的容限集。
类型
array

4.1.24. .spec.buildOverrides.tolerations[]

描述
此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
类型
object
属性类型描述

effect

字符串

effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。

key

字符串

key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。

operator

字符串

Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。

value

字符串

value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.