×
描述

配置包含配置供应服务 (Ironic) 用于供应裸机主机的配置。OpenShift 安装程序使用关于供应网络和服务器上可用于 PXE 引导它的 NIC 的管理员或用户提供的信息创建配置。此 CR 是单例,由安装程序创建,目前仅由 cluster-baremetal-operator 使用来启动和更新 metal3 集群中的容器。

类型

对象

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰式命名法。更多信息: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

对象

ProvisioningSpec 定义 Provisioning 的期望状态

status

对象

ProvisioningStatus 定义 Provisioning 的观察状态

.spec

描述

ProvisioningSpec 定义 Provisioning 的期望状态

类型

对象

属性 类型 描述

bootIsoSource

字符串

BootIsoSource 提供了一种方法来设置将从中提供用于引导节点的 iso 映像的位置。默认情况下,引导 iso 映像缓存在本地,并使用辅助 httpd 服务器从供应服务 (Ironic) 节点提供。如果引导 iso 映像已由 httpd 服务器提供,则将此选项设置为 http 允许直接从此处提供映像;在这种情况下,托管引导 iso 的 httpd 服务器所在的网络(内部或外部)需要可被 metal3 pod 访问。

disableVirtualMediaTLS

布尔值

DisableVirtualMediaTLS 关闭虚拟媒体服务器上的 TLS,这对于无法接受 HTTPS 链接的硬件可能是必需的。

preProvisioningOSDownloadURLs

对象

PreprovisioningOSDownloadURLs 是一组 CoreOS Live URL,这些 URL 对于使用虚拟媒体或 PXE 配置工作节点是必要的。

provisioningDHCPExternal

布尔值

ProvisioningDHCPExternal 指示供应 DHCP 范围中 IP 地址的 DHCP 服务器是否存在于 metal3 集群内或集群外部。此字段将被弃用,取而代之的是 provisioningNetwork。

provisioningDHCPRange

字符串

ProvisioningDHCPRange 需要与 ProvisioningDHCPExternal 一起解释。如果 provisioningDHCPExternal 的值为 False,则 ProvisioningDHCPRange 表示 metal3 集群中运行的 DHCP 服务器在配置裸机服务器时可以使用的 IP 地址范围。如果 ProvisioningDHCPExternal 的值为 True,则将忽略 ProvisioningDHCPRange 的值。当 ProvisioningDHCPExternal 的值设置为 False,指示内部 DHCP 服务器且 ProvisioningDHCPRange 的值未设置时,则 DHCP 范围被认为是从 ProvisioningNetworkCIDR 的 .10 到 .100 的默认范围。这是 Provisioning 配置中唯一可以在安装程序创建 CR 后更改的值。此值需要是 ProvisioningNetworkCIDR 内用逗号分隔的两个 IP 地址,其中第一个地址表示范围的开始,第二个地址表示范围内的最后一个可用地址。

provisioningDNS

布尔值

ProvisioningDNS 允许通过供应网络上的 DHCP 发送 DNS 信息。默认情况下它是关闭的,因为供应服务本身 (Ironic) 不需要 DNS,但它可能对分层产品(例如 ZTP)有用。

provisioningIP

字符串

ProvisioningIP 是分配给裸机服务器的 provisioningInterface 的 IP 地址。此 IP 地址应在供应子网内,且不在 DHCP 范围内。

provisioningInterface

字符串

ProvisioningInterface 是裸机服务器上连接到供应网络的网络接口的名称。它可以具有 eth1 或 ens3 等值。

provisioningMacAddresses

数组 (字符串)

ProvisioningMacAddresses 是裸机服务器上连接到供应网络的网络接口的 mac 地址列表。使用此选项代替 ProvisioningInterface 以允许不同名称的接口。如果未提供,它将由每个主机的 BMH.Spec.BootMacAddress 填充。

provisioningNetwork

字符串

ProvisioningNetwork 提供了一种指示预配网络底层网络配置状态的方法。此字段可以具有以下值之一:Managed - 当预配网络完全由 Baremetal IPI 解决方案管理时。Unmanaged - 当预配网络存在并使用,但用户负责管理 DHCP 时。建议使用虚拟介质预配,但如果需要,仍然可以使用 PXE。Disabled - 当预配网络完全禁用时。用户可以使用虚拟介质或辅助安装启动裸机集群。如果使用 metal3 进行电源管理,则必须从机器网络访问 BMC。用户应在外部网络上提供两个将用于预配服务的 IP 地址。

provisioningNetworkCIDR

字符串

ProvisioningNetworkCIDR 是预配裸机节点的网络。provisioningIP 和 dhcpRange 中的 IP 地址都来自此网络。当使用 IPv6 并且在由 Baremetal IPI 解决方案管理的网络中时,此网络不能大于 /64。

provisioningOSDownloadURL

字符串

ProvisioningOSDownloadURL 是 metal3 集群可以从中下载用于引导裸机主机操作系统的 OS 镜像的位置。

virtualMediaViaExternalNetwork

布尔值

当 VirtualMediaViaExternalNetwork 标志设置为“true”时,允许工作节点通过虚拟介质引导并通过外部网络联系 metal3。当标志设置为“false”(默认值)时,虚拟介质部署仍然可以根据 ProvisioningNetwork 中指定的配置进行,即在禁用模式下,通过外部网络,以及在管理模式下通过预配网络。PXE 部署将始终使用预配网络,并且不会受此标志的影响。

watchAllNamespaces

布尔值

WatchAllNamespaces 提供了一种方法来明确允许跨所有命名空间使用此预配配置。这是一个可选配置,默认为 false,在这种状态下,它将仅用于在 openshift-machine-api 命名空间中预配裸机主机。设置为 true 时,此预配配置将用于跨所有命名空间的裸机主机。

.spec.preProvisioningOSDownloadURLs

描述

PreprovisioningOSDownloadURLs 是一组 CoreOS Live URL,这些 URL 对于使用虚拟媒体或 PXE 配置工作节点是必要的。

类型

对象

属性 类型 描述

initramfsURL

字符串

InitramfsURL 用于 PXE 部署的镜像 URL

isoURL

字符串

IsoURL 用于实时 ISO 部署的镜像 URL

kernelURL

字符串

KernelURL 是用于 PXE 部署的镜像 URL

rootfsURL

字符串

RootfsURL 用于 PXE 部署的镜像 URL

.status

描述

ProvisioningStatus 定义 Provisioning 的观察状态

类型

对象

属性 类型 描述

conditions

数组

conditions 是条件及其状态的列表

conditions[]

对象

OperatorCondition 只是标准的条件字段。

generations

数组

generations 用于确定何时需要协调项目或项目以需要反应的方式发生了更改。

generations[]

对象

GenerationStatus 跟踪给定资源的代数,以便可以做出有关强制更新的决策。

observedGeneration

整数

observedGeneration 是您已处理的最后一代更改

readyReplicas

整数

readyReplicas 指示有多少个副本已准备就绪并处于所需状态

version

字符串

version 是此可用性适用的级别

.status.conditions

描述

conditions 是条件及其状态的列表

类型

数组

.status.conditions[]

描述

OperatorCondition 只是标准的条件字段。

类型

对象

必需
  • 类型

属性 类型 描述

lastTransitionTime

字符串

消息

字符串

原因

字符串

status

字符串

类型

字符串

.status.generations

描述

generations 用于确定何时需要协调项目或项目以需要反应的方式发生了更改。

类型

数组

.status.generations[]

描述

GenerationStatus 跟踪给定资源的代数,以便可以做出有关强制更新的决策。

类型

对象

属性 类型 描述

字符串

group 是您正在跟踪的事物的组

哈希

字符串

hash 是为没有代数且内容敏感的资源(如密钥和配置映射)设置的可选字段

lastGeneration

整数

lastGeneration 是所涉及的工作负载控制器的最后一代

名称

字符串

name 是您正在跟踪的事物的名称

命名空间

字符串

namespace 是您正在跟踪的事物所在的位置

资源

字符串

resource 是您正在跟踪的事物的资源类型

API 端点

提供以下 API 端点

  • /apis/metal3.io/v1alpha1/provisionings

    • DELETE:删除 Provisioning 集合

    • GET:列出 Provisioning 类型的对象

    • POST:创建 Provisioning

  • /apis/metal3.io/v1alpha1/provisionings/{name}

    • DELETE:删除 Provisioning

    • GET:读取指定的 Provisioning

    • PATCH:部分更新指定的 Provisioning

    • PUT:替换指定的 Provisioning

  • /apis/metal3.io/v1alpha1/provisionings/{name}/status

    • GET:读取指定的 Provisioning 的状态

    • PATCH:部分更新指定的 Provisioning 的状态

    • PUT:替换指定的 Provisioning 的状态

/apis/metal3.io/v1alpha1/provisionings

HTTP 方法

DELETE

描述

删除 Provisioning 集合

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 Provisioning 类型的对象

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

ProvisioningList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 Provisioning

表 3. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 4. 主体参数
参数 类型 描述

主体

Provisioning 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

201 - 已创建

Provisioning 模式

202 - 已接受

Provisioning 模式

401 - 未授权

/apis/metal3.io/v1alpha1/provisionings/{name}

表 6. 全局路径参数
参数 类型 描述

名称

字符串

Provisioning 的名称

HTTP 方法

DELETE

描述

删除 Provisioning

表 7. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 Provisioning

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 Provisioning

表 10. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 Provisioning

表 12. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 13. 主体参数
参数 类型 描述

主体

Provisioning 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

201 - 已创建

Provisioning 模式

401 - 未授权

/apis/metal3.io/v1alpha1/provisionings/{name}/status

表 15. 全局路径参数
参数 类型 描述

名称

字符串

Provisioning 的名称

HTTP 方法

GET

描述

读取指定的 Provisioning 的状态

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定预配的状态

表 17. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定预配的状态

表 19. 查询参数
参数 类型 描述

dryRun

字符串

出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 20. 请求体参数
参数 类型 描述

主体

Provisioning 模式

表 21. HTTP 响应
HTTP 代码 响应体

200 - OK

Provisioning 模式

201 - 已创建

Provisioning 模式

401 - 未授权