Build配置了整个集群的OpenShift构建的行为。这包括可以在BuildConfig对象中被覆盖的默认设置,以及应用于所有构建的覆盖。规范名称为“cluster” 兼容性级别1:在主要版本中至少稳定12个月或3个次要版本(以较长者为准)。
Build配置了整个集群的OpenShift构建的行为。这包括可以在BuildConfig对象中被覆盖的默认设置,以及应用于所有构建的覆盖。规范名称为“cluster” 兼容性级别1:在主要版本中至少稳定12个月或3个次要版本(以较长者为准)。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind是一个字符串值,表示此对象表示的REST资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰式命名法。更多信息: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保存用户可设置的构建控制器配置值 |
Spec保存用户可设置的构建控制器配置值
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AdditionalTrustedCA是对ConfigMap的引用,其中包含在构建期间应信任用于镜像推送和拉取的其他CA。此配置映射的命名空间为openshift-config。已弃用:镜像拉取和推送的其他CA应在image.config.openshift.io/cluster上设置。 |
|
|
BuildDefaults 控制构建的默认信息 |
|
|
BuildOverrides 控制构建的覆盖设置 |
AdditionalTrustedCA是对ConfigMap的引用,其中包含在构建期间应信任用于镜像推送和拉取的其他CA。此配置映射的命名空间为openshift-config。已弃用:镜像拉取和推送的其他CA应在image.config.openshift.io/cluster上设置。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是所引用 ConfigMap 的 metadata.name |
BuildDefaults 控制构建的默认信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
DefaultProxy 包含所有构建操作的默认代理设置,包括镜像拉取/推送和源代码下载。可以通过在构建配置的策略中设置 |
|
|
Env 是一组默认环境变量,如果构建中不存在指定的变量,则会将其应用于构建。 |
|
|
EnvVar 表示容器中存在的环境变量。 |
|
|
GitProxy 只包含 git 操作的代理设置。如果设置了此项,它将覆盖所有 git 命令(例如 git clone)的任何代理设置。此处未设置的值将继承自 DefaultProxy。 |
|
|
ImageLabels 是应用于生成的镜像的一组 Docker 标签。用户可以通过在其 Build/BuildConfig 中提供相同名称的标签来覆盖默认标签。 |
|
|
|
|
|
Resources 定义执行构建所需的资源。 |
DefaultProxy 包含所有构建操作的默认代理设置,包括镜像拉取/推送和源代码下载。可以通过在构建配置的策略中设置HTTP_PROXY
、HTTPS_PROXY
和 NO_PROXY
环境变量来覆盖这些值。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
httpProxy 是 HTTP 请求的代理 URL。空表示未设置,不会生成环境变量。 |
|
|
httpsProxy 是 HTTPS 请求的代理 URL。空表示未设置,不会生成环境变量。 |
|
|
noProxy 是一个逗号分隔的主机名和/或 CIDR 和/或 IP 列表,对于这些主机名和/或 CIDR 和/或 IP,不应使用代理。空表示未设置,不会生成环境变量。 |
|
|
readinessEndpoints 是用于验证代理就绪状态的端点列表。 |
|
|
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应仅由代理验证器使用。验证器负责从必需的键“ca-bundle.crt”读取证书捆绑包,将其与系统默认信任捆绑包合并,并将合并后的信任捆绑包写入“openshift-config-managed”命名空间中名为“trusted-ca-bundle”的 ConfigMap。预计要进行代理连接的客户端必须对所有到代理的 HTTPS 请求使用 trusted-ca-bundle,并且也可能对非代理 HTTPS 请求使用 trusted-ca-bundle。“openshift-config”是 trustedCA 引用的 ConfigMap 的命名空间。这是一个 ConfigMap 示例(yaml):apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE----- 自定义 CA 证书捆绑包。 -----END CERTIFICATE----- |
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应仅由代理验证器使用。验证器负责从必需的键“ca-bundle.crt”读取证书捆绑包,将其与系统默认信任捆绑包合并,并将合并后的信任捆绑包写入“openshift-config-managed”命名空间中名为“trusted-ca-bundle”的 ConfigMap。预计要进行代理连接的客户端必须对所有到代理的 HTTPS 请求使用 trusted-ca-bundle,并且也可能对非代理 HTTPS 请求使用 trusted-ca-bundle。“openshift-config”是 trustedCA 引用的 ConfigMap 的命名空间。这是一个 ConfigMap 示例(yaml):apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- 自定义 CA 证书捆绑包。 -----END CERTIFICATE-----
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是所引用 ConfigMap 的 metadata.name |
EnvVar 表示容器中存在的环境变量。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,允许转义 $(VAR_NAME) 语法:即“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的键。 |
|
|
选择 pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 pod 命名空间中密钥的键。 |
选择 ConfigMap 的键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是不正确的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 以其编写的模式版本,默认为“v1”。 |
|
|
在指定的 API 版本中选择的字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷需要,环境变量可选 |
|
|
指定公开资源的输出格式,默认为“1” |
|
|
必需:要选择的资源 |
选择 pod 命名空间中密钥的键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的键。必须是有效的密钥键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是不正确的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
GitProxy 只包含 git 操作的代理设置。如果设置了此项,它将覆盖所有 git 命令(例如 git clone)的任何代理设置。此处未设置的值将继承自 DefaultProxy。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
httpProxy 是 HTTP 请求的代理 URL。空表示未设置,不会生成环境变量。 |
|
|
httpsProxy 是 HTTPS 请求的代理 URL。空表示未设置,不会生成环境变量。 |
|
|
noProxy 是一个逗号分隔的主机名和/或 CIDR 和/或 IP 列表,对于这些主机名和/或 CIDR 和/或 IP,不应使用代理。空表示未设置,不会生成环境变量。 |
|
|
readinessEndpoints 是用于验证代理就绪状态的端点列表。 |
|
|
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应仅由代理验证器使用。验证器负责从必需的键“ca-bundle.crt”读取证书捆绑包,将其与系统默认信任捆绑包合并,并将合并后的信任捆绑包写入“openshift-config-managed”命名空间中名为“trusted-ca-bundle”的 ConfigMap。预计要进行代理连接的客户端必须对所有到代理的 HTTPS 请求使用 trusted-ca-bundle,并且也可能对非代理 HTTPS 请求使用 trusted-ca-bundle。“openshift-config”是 trustedCA 引用的 ConfigMap 的命名空间。这是一个 ConfigMap 示例(yaml):apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: | -----BEGIN CERTIFICATE----- 自定义 CA 证书捆绑包。 -----END CERTIFICATE----- |
trustedCA 是对包含 CA 证书捆绑包的 ConfigMap 的引用。trustedCA 字段应仅由代理验证器使用。验证器负责从必需的键“ca-bundle.crt”读取证书捆绑包,将其与系统默认信任捆绑包合并,并将合并后的信任捆绑包写入“openshift-config-managed”命名空间中名为“trusted-ca-bundle”的 ConfigMap。预计要进行代理连接的客户端必须对所有到代理的 HTTPS 请求使用 trusted-ca-bundle,并且也可能对非代理 HTTPS 请求使用 trusted-ca-bundle。“openshift-config”是 trustedCA 引用的 ConfigMap 的命名空间。这是一个 ConfigMap 示例(yaml):apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- 自定义 CA 证书捆绑包。 -----END CERTIFICATE-----
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
name 是所引用 ConfigMap 的 metadata.name |
ImageLabels 是应用于生成的镜像的一组 Docker 标签。用户可以通过在其 Build/BuildConfig 中提供相同名称的标签来覆盖默认标签。
数组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 定义标签的名称。它必须具有非零长度。 |
|
|
Value 定义标签的字面值。 |
Resources 定义执行构建所需的资源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述允许的计算资源的最大数量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述所需的计算资源的最小数量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 条目中的一个名称匹配。它使该资源在容器内可用。 |
BuildOverrides 控制构建的覆盖设置
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
如果设置了 forcePull 覆盖,则会覆盖构建中的等效值,即 false 会禁用所有构建的强制拉取,true 会启用所有构建的强制拉取,而与每个构建本身指定的设置无关。 |
|
|
ImageLabels 是应用于结果镜像的一系列 Docker 标签。如果用户在其 Build/BuildConfig 中提供的标签名称与此列表中的一个标签名称相同,则用户的标签将被覆盖。 |
|
|
|
|
|
NodeSelector 是一个选择器,构建 Pod 必须满足该选择器才能适应节点。 |
|
|
Tolerations 是一个 Tolerations 列表,它将覆盖在构建 Pod 上设置的任何现有容忍度。 |
|
|
此容忍度附加到的 Pod 容忍任何与三元组 |
ImageLabels 是应用于结果镜像的一系列 Docker 标签。如果用户在其 Build/BuildConfig 中提供的标签名称与此列表中的一个标签名称相同,则用户的标签将被覆盖。
数组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 定义标签的名称。它必须具有非零长度。 |
|
|
Value 定义标签的字面值。 |
此容忍度附加到的 Pod 容忍任何与三元组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 Pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须具有 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零和负值视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果运算符为 Exists,则值应为空,否则只是一个常规字符串。 |
提供以下 API 端点
/apis/config.openshift.io/v1/builds
DELETE
:删除 Build 集合
GET
:列出 Build 类型的对象
POST
:创建一个 Build
/apis/config.openshift.io/v1/builds/{name}
DELETE
:删除一个 Build
GET
:读取指定的 Build
PATCH
:部分更新指定的 Build
PUT
:替换指定的 Build
/apis/config.openshift.io/v1/builds/{name}/status
GET
:读取指定的 Build 的状态
PATCH
:部分更新指定的 Build 的状态
PUT
:替换指定的 Build 的状态
DELETE
删除 Build 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 Build 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 Build
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Build 的名称 |
DELETE
删除一个 Build
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Build
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Build
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Build
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Build 的名称 |
GET
读取指定的 Build 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Build 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Build 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |