配置包含配置供应服务 (Ironic) 用于供应裸机主机的配置。OpenShift 安装程序使用关于供应网络和服务器上可用于 PXE 引导它的 NIC 的管理员或用户提供的信息创建配置。此 CR 是单例,由安装程序创建,目前仅由 cluster-baremetal-operator 使用来启动和更新 metal3 集群中的容器。
配置包含配置供应服务 (Ironic) 用于供应裸机主机的配置。OpenShift 安装程序使用关于供应网络和服务器上可用于 PXE 引导它的 NIC 的管理员或用户提供的信息创建配置。此 CR 是单例,由安装程序创建,目前仅由 cluster-baremetal-operator 使用来启动和更新 metal3 集群中的容器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
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 |
|
|
|
ProvisioningSpec 定义 Provisioning 的期望状态 |
|
|
ProvisioningStatus 定义 Provisioning 的观察状态 |
ProvisioningSpec 定义 Provisioning 的期望状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
BootIsoSource 提供了一种方法来设置将从中提供用于引导节点的 iso 映像的位置。默认情况下,引导 iso 映像缓存在本地,并使用辅助 httpd 服务器从供应服务 (Ironic) 节点提供。如果引导 iso 映像已由 httpd 服务器提供,则将此选项设置为 http 允许直接从此处提供映像;在这种情况下,托管引导 iso 的 httpd 服务器所在的网络(内部或外部)需要可被 metal3 pod 访问。 |
|
|
DisableVirtualMediaTLS 关闭虚拟媒体服务器上的 TLS,这对于无法接受 HTTPS 链接的硬件可能是必需的。 |
|
|
PreprovisioningOSDownloadURLs 是一组 CoreOS Live URL,这些 URL 对于使用虚拟媒体或 PXE 配置工作节点是必要的。 |
|
|
ProvisioningDHCPExternal 指示供应 DHCP 范围中 IP 地址的 DHCP 服务器是否存在于 metal3 集群内或集群外部。此字段将被弃用,取而代之的是 provisioningNetwork。 |
|
|
ProvisioningDHCPRange 需要与 ProvisioningDHCPExternal 一起解释。如果 provisioningDHCPExternal 的值为 False,则 ProvisioningDHCPRange 表示 metal3 集群中运行的 DHCP 服务器在配置裸机服务器时可以使用的 IP 地址范围。如果 ProvisioningDHCPExternal 的值为 True,则将忽略 ProvisioningDHCPRange 的值。当 ProvisioningDHCPExternal 的值设置为 False,指示内部 DHCP 服务器且 ProvisioningDHCPRange 的值未设置时,则 DHCP 范围被认为是从 ProvisioningNetworkCIDR 的 .10 到 .100 的默认范围。这是 Provisioning 配置中唯一可以在安装程序创建 CR 后更改的值。此值需要是 ProvisioningNetworkCIDR 内用逗号分隔的两个 IP 地址,其中第一个地址表示范围的开始,第二个地址表示范围内的最后一个可用地址。 |
|
|
ProvisioningDNS 允许通过供应网络上的 DHCP 发送 DNS 信息。默认情况下它是关闭的,因为供应服务本身 (Ironic) 不需要 DNS,但它可能对分层产品(例如 ZTP)有用。 |
|
|
ProvisioningIP 是分配给裸机服务器的 provisioningInterface 的 IP 地址。此 IP 地址应在供应子网内,且不在 DHCP 范围内。 |
|
|
ProvisioningInterface 是裸机服务器上连接到供应网络的网络接口的名称。它可以具有 eth1 或 ens3 等值。 |
|
|
ProvisioningMacAddresses 是裸机服务器上连接到供应网络的网络接口的 mac 地址列表。使用此选项代替 ProvisioningInterface 以允许不同名称的接口。如果未提供,它将由每个主机的 BMH.Spec.BootMacAddress 填充。 |
|
|
ProvisioningNetwork 提供了一种指示预配网络底层网络配置状态的方法。此字段可以具有以下值之一: |
|
|
ProvisioningNetworkCIDR 是预配裸机节点的网络。provisioningIP 和 dhcpRange 中的 IP 地址都来自此网络。当使用 IPv6 并且在由 Baremetal IPI 解决方案管理的网络中时,此网络不能大于 /64。 |
|
|
ProvisioningOSDownloadURL 是 metal3 集群可以从中下载用于引导裸机主机操作系统的 OS 镜像的位置。 |
|
|
当 VirtualMediaViaExternalNetwork 标志设置为“true”时,允许工作节点通过虚拟介质引导并通过外部网络联系 metal3。当标志设置为“false”(默认值)时,虚拟介质部署仍然可以根据 ProvisioningNetwork 中指定的配置进行,即在禁用模式下,通过外部网络,以及在管理模式下通过预配网络。PXE 部署将始终使用预配网络,并且不会受此标志的影响。 |
|
|
WatchAllNamespaces 提供了一种方法来明确允许跨所有命名空间使用此预配配置。这是一个可选配置,默认为 false,在这种状态下,它将仅用于在 openshift-machine-api 命名空间中预配裸机主机。设置为 true 时,此预配配置将用于跨所有命名空间的裸机主机。 |
PreprovisioningOSDownloadURLs 是一组 CoreOS Live URL,这些 URL 对于使用虚拟媒体或 PXE 配置工作节点是必要的。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
InitramfsURL 用于 PXE 部署的镜像 URL |
|
|
IsoURL 用于实时 ISO 部署的镜像 URL |
|
|
KernelURL 是用于 PXE 部署的镜像 URL |
|
|
RootfsURL 用于 PXE 部署的镜像 URL |
ProvisioningStatus 定义 Provisioning 的观察状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
conditions 是条件及其状态的列表 |
|
|
OperatorCondition 只是标准的条件字段。 |
|
|
generations 用于确定何时需要协调项目或项目以需要反应的方式发生了更改。 |
|
|
GenerationStatus 跟踪给定资源的代数,以便可以做出有关强制更新的决策。 |
|
|
observedGeneration 是您已处理的最后一代更改 |
|
|
readyReplicas 指示有多少个副本已准备就绪并处于所需状态 |
|
|
version 是此可用性适用的级别 |
提供以下 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 的状态
DELETE
删除 Provisioning 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 Provisioning 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 Provisioning
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Provisioning 的名称 |
DELETE
删除 Provisioning
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Provisioning
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Provisioning
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Provisioning
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Provisioning 的名称 |
GET
读取指定的 Provisioning 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定预配的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定预配的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
出现时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |