第 12 章 Provisioning [metal3.io/v1alpha1]
- 描述
- Provisioning 包含由 Provisioning 服务(Ironic)来置备裸机主机的配置。调配由 OpenShift 安装程序使用 admin 或用户提供的有关调配网络和可用 PXE 引导的 NIC 的信息来创建。此 CR 是安装程序创建的单例,目前仅由 cluster-baremetal-operator 使用,以便在 metal3 集群中启动和更新容器。
- 类型
-
对象
12.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: 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 | |
|
| ProvisioningSpec 定义所需的置备状态 |
|
| ProvisioningStatus 定义 Provisioning 的观察状态 |
12.1.1. .spec
- 描述
- ProvisioningSpec 定义所需的置备状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BootIsoSource 提供了一种设置要引导节点的位置的方法。默认情况下,boot iso 镜像在本地缓存,并使用辅助 httpd 服务器从 Provisioning 服务(Ironic)节点提供。如果 httpd 服务器已经提供 boot iso 镜像,将此选项设置为 http 允许从那里直接提供镜像;在这种情况下,网络(内部或外部)需要被 metal3 pod 访问引导 iso 的网络。 |
|
| DisableVirtualMediaTLS 在虚拟介质服务器上关闭 TLS,对于无法接受 HTTPS 链接的硬件可能需要该 TLS。 |
|
| preProvisioningOSDownloadURLs 是一组 CoreOS Live URL,需要使用虚拟介质或 PXE 置备 worker。 |
|
| 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 地址,其中 1st 地址代表范围的开头,第二地址代表范围内的最后一个可用地址。 |
|
| ProvisioningDNS 允许通过 provisionig 网络上的 DHCP 发送 DNS 信息。默认情况下,它处于 off 状态,因为 Provisioning 服务本身(Ironic)不需要 DNS,但可能对分层产品(如 ZTP)有用。 |
|
| provisioningIP 是分配给 baremetal 服务器的 provisioningInterface 的 IP 地址。此 IP 地址应位于 provisioning 子网内,且在 DHCP 范围之外。 |
|
| provisioningInterface 是 baremetal 服务器上的网络接口的名称,到 provisioning 网络。它可以具有 eth1 或 ens3 等值。 |
|
| provisioningMacAddresses 是 baremetal 服务器上网络接口的 mac 地址列表到 provisioning 网络。使用这个而不是 ProvisioningInterface 来允许不同名称的接口。如果没有提供,它将由每个 master 的 BMH.Spec.BootMacAddress 填充。 |
|
|
provisioningNetwork 提供了指示置备网络的底层网络配置状态的方法。当 provisioning 网络完全由 Baremetal IPI 解决方案管理时,此字段可以有以下值之一。 |
|
| provisioningNetworkCIDR 是置备 baremetal 节点的网络。dhcpRange 中的 provisioningIP 和 IP 都来自这个网络。当使用 IPv6 和由 Baremetal IPI 解决方案管理的网络时,这不能是一个大于 /64 的网络。 |
|
| provisioningOSDownloadURL 是用来引导 baremetal 主机的操作系统镜像可以被 metal3 集群下载的位置。 |
|
| 当设置为 "true" 时,VirtualMediaViaExternalNetwork 标志允许 worker 通过 Virtual Media 引导,并通过 External Network 联系 metal3。当标志设置为 "false" (默认),虚拟介质部署仍然可以根据 ProvisioningNetwork 中指定的配置进行,例如在 Disabled 模式下,通过 External Network 和 Provisioning Network (在 Managed 模式时通过 Provisioning Network)。PXE 部署将始终使用 Provisioning 网络,且不受此标志的影响。 |
|
| watchAllNameSpaces 提供了在所有命名空间中明确允许使用此置备配置的方法。这是一个可选配置,默认为 false,在该状态将仅用于置备 openshift-machine-api 命名空间中的 baremetal 主机。当设置为 true 时,这个置备配置将用于所有命名空间中的 baremetal 主机。 |
12.1.2. .spec.preProvisioningOSDownloadURLs
- 描述
- preProvisioningOSDownloadURLs 是一组 CoreOS Live URL,需要使用虚拟介质或 PXE 置备 worker。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 用于 PXE 部署的 InitramfsURL 镜像 URL |
|
| 用于实时 ISO 部署的 IsoURL 镜像 URL |
|
| KernelURL 是一个用于 PXE 部署的镜像 URL |
|
| 用于 PXE 部署的 rootFSUrl 镜像 URL |
12.1.3. .status
- 描述
- ProvisioningStatus 定义 Provisioning 的观察状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| conditions 是条件及其状态列表 |
|
| OperatorCondition 只是标准条件字段。 |
|
| 生成用于确定项目是否需要协调或更改是否需要反应。 |
|
| GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。 |
|
| observedGeneration 是您处理的最后生成更改 |
|
| readyReplicas 表示有多少副本就绪并处于所需的状态 |
|
| 版本是此可用性适用的级别 |
12.1.4. .status.conditions
- 描述
- conditions 是条件及其状态列表
- 类型
-
array
12.1.5. .status.conditions[]
- 描述
- OperatorCondition 只是标准条件字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
12.1.6. .status.generations
- 描述
- 生成用于确定项目是否需要协调或更改是否需要反应。
- 类型
-
array
12.1.7. .status.generations[]
- 描述
- GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 组是您要跟踪的内容组 |
|
| hash 是为没有生成的情况下为资源设置的可选字段,它们是敏感内容,如 secret 和 configmaps |
|
| lastGeneration 是涉及的工作负载控制器的最后生成 |
|
| name 是您要跟踪的内容的名称 |
|
| 命名空间(namespace)是您要跟踪的事情 |
|
| 资源是您要跟踪的资源类型 |