第 3 章 BareMetalHost [metal3.io/v1alpha1]


描述
BareMetalHost 是 baremetalhosts API 的 Schema
类型
对象

3.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

对象

BareMetalHostSpec 定义 BareMetalHost 的所需状态

status

对象

BareMetalHostStatus 定义 BareMetalHost 的观察状态

3.1.1. .spec

描述
BareMetalHostSpec 定义 BareMetalHost 的所需状态
类型
object
必填
  • online
属性类型描述

架构

string

主机的 CPU 架构,如 "x86_64" 或 "aarch64"。如果未设置,则最终由检查填充。

automatedCleaningMode

字符串

当设置为 disabled 时,会在置备和取消置备过程中避免自动清理。

bmc

对象

如何连接到 BMC?

bootMACAddress

字符串

哪个 MAC 地址将 PXE 引导?对于某些类型,这是可选的,但 vbmc 驱动的 libvirt 虚拟机是必需的。

bootMode

字符串

选择在引导过程中初始化硬件的方法。默认为 UEFI。

consumerRef

对象

consumerRef 可用于存储使用主机的内容的信息。如果主机不为空,则主机被视为"使用"。

customDeploy

对象

自定义部署流程。

description

字符串

description 是人类可读的文本,用于帮助识别主机

externallyProvisioned

布尔值

externallyProvisioned 表示其他管理主机上运行的镜像,Operator 应该仅管理电源状态和硬件清单检查。如果填写了 Image 字段,则忽略此字段。

firmware

对象

裸机服务器的 BIOS 配置

hardwareProfile

字符串

此主机的硬件配置文件的名称是什么?硬件配置集已弃用,不应使用。改为使用单独的字段 Architecture 和 RootDeviceHints。设置为"空",以在没有硬件配置集的情况下为 API 的未来版本做准备。

image

对象

image 包含要调配的镜像的详细信息。

metaData

object

元数据包含对包含主机元数据(如 meta_data.json)的 Secret 的引用,后者被传递给 Config Drive。

networkData

object

networkData 包含对包含网络配置(如 network_data.json)的 Secret 的引用,该 secret 传递给 Config Drive。

online

布尔值

服务器是否应在线?

preprovisioningNetworkDataName

string

preprovisioningNetworkDataName 是本地命名空间中的 Secret 名称,其中包含网络配置(例如 network_data.json 的内容),该配置传递到预置备镜像,如果没有通过指定 NetworkData 覆盖到 Config Drive。

raid

对象

裸机服务器的 RAID 配置

rootDeviceHints

对象

提供有关如何为所调配镜像选择设备的说明。

污点

array

污点是要应用到对应机器的完整、权威污点列表。此列表将持续覆盖对机器所做的任何修改。

taints[]

对象

此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。

userData

对象

userData 包含对包含要传递给主机的用户数据的 Secret 的引用。

3.1.2. .spec.bmc

描述
如何连接到 BMC?
类型
object
必填
  • address
  • credentialsName
属性类型描述

address

字符串

address 包含用于访问网络上控制器的 URL。

credentialsName

字符串

包含 BMC 凭证的 secret 名称(需要密钥 "username" 和 "password")。

disableCertificateVerification

布尔值

disableCertificateVerification 在使用 HTTPS 连接到 BMC 时禁用服务器证书验证。当服务器证书是自签名的但不安全时,这是必需的,因为它允许 man-in-the-middle 截获连接。

3.1.3. .spec.consumerRef

描述
consumerRef 可用于存储使用主机的内容的信息。如果主机不为空,则主机被视为"使用"。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。Todo: 这个设计不是最终设计的,且该字段在将来会有所改变。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

3.1.4. .spec.customDeploy

描述
自定义部署流程。
类型
object
必填
  • method
属性类型描述

method

字符串

自定义部署方法名称。此名称特定于使用的部署 ramdisk。如果您没有自定义部署 ramdisk,则不应使用自定义部署。

3.1.5. .spec.firmware

描述
裸机服务器的 BIOS 配置
类型
object
属性类型描述

simultaneousMultithreadingEnabled

布尔值

允许单个物理处理器内核显示为多个逻辑处理器。这支持以下选项: true,false。

sriovEnabled

布尔值

SR-IOV 支持可让虚拟机监控程序创建 PCI-express 设备的虚拟实例,这可能会提高性能。这支持以下选项: true,false。

virtualizationEnabled

布尔值

支持平台硬件的虚拟化。这支持以下选项: true,false。

3.1.6. .spec.image

描述
image 包含要调配的镜像的详细信息。
类型
object
必填
  • url
属性类型描述

checksum

字符串

checksum 是镜像的 checksum。

checksumType

字符串

checksumType 是镜像的校验和算法。如 md5、sha256、sha512

格式

字符串

DiskFormat 包含镜像的格式(raw, qcow2, …​)。需要设置为 raw 用于原始镜像流。请注意 live-iso 意味着 url 引用的 iso 将会被实时引导,而不是部署到磁盘,在这种情况下,不需要校验和选项,如果指定,则忽略。

url

字符串

URL 是要部署的镜像的位置。

3.1.7. .spec.metaData

描述
元数据包含对包含主机元数据(如 meta_data.json)的 Secret 的引用,后者被传递给 Config Drive。
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

3.1.8. .spec.networkData

描述
networkData 包含对包含网络配置(如 network_data.json)的 Secret 的引用,该 secret 传递给 Config Drive。
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

3.1.9. .spec.raid

描述
裸机服务器的 RAID 配置
类型
object
属性类型描述

hardwareRAIDVolumes

``

硬件 RAID 的逻辑卷列表(如果 rootDeviceHints 没有使用),则第一个卷是 root 卷。您可以将此字段的值设置为 [] 来清除所有硬件 RAID 配置。

softwareRAIDVolumes

``

软件 RAID 的逻辑卷列表(如果 rootDeviceHints 没有使用),则第一个卷是 root 卷。如果设置了 HardwareRAIDVolumes,则此项将无效。创建的软件 RAID 设备的数量必须是 1 或 2。如果只有一个软件 RAID 设备,它必须是 RAID-1。如果有两个,则第一个必须是 RAID-1,而第二个的 RAID 级别可以是 0、1 或 1+0。因为第一个 RAID 设备将是部署设备,所以强制 RAID-1 会在磁盘失败时降低以非引导节点结束的风险。软件 RAID 将始终被删除。

3.1.10. .spec.rootDeviceHints

描述
提供有关如何为所调配镜像选择设备的说明。
类型
object
属性类型描述

deviceName

string

比如 "/dev/vda" 的 Linux 设备名称,或指向它的一个 by-path 链接,如 "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0"。hint 必须与实际值完全匹配。

hctl

字符串

SCSI 总线地址,如 0:0:0:0。hint 必须与实际值完全匹配。

minSizeGigabytes

整数

以 Gigabytes 为单位的设备的最小大小。

model

字符串

特定于厂商的设备标识符。hint 可以是实际值的子字符串。

rotational

布尔值

如果设备应使用旋转介质,则为 true,否则为 false。

serialNumber

字符串

设备序列号。hint 必须与实际值完全匹配。

vendor

字符串

设备的厂商或制造商的名称。hint 可以是实际值的子字符串。

wwn

字符串

唯一的存储标识符。hint 必须与实际值完全匹配。

wwnVendorExtension

字符串

唯一的厂商存储标识符。hint 必须与实际值完全匹配。

wwnWithExtension

字符串

附加厂商扩展的唯一存储标识符。hint 必须与实际值完全匹配。

3.1.11. .spec.taints

描述
污点是要应用到对应机器的完整、权威污点列表。此列表将持续覆盖对机器所做的任何修改。
类型
array

3.1.12. .spec.taints[]

描述
此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。
类型
object
必填
  • effect
  • key
属性类型描述

effect

字符串

必需。污点对不容许该污点的 pod 的影响。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

必需。要应用到节点的污点键。

timeAdded

字符串

TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。

value

字符串

与污点键对应的污点值。

3.1.13. .spec.userData

描述
userData 包含对包含要传递给主机的用户数据的 Secret 的引用。
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

3.1.14. .status

描述
BareMetalHostStatus 定义 BareMetalHost 的观察状态
类型
object
必填
  • errorCount
  • errorMessage
  • hardwareProfile
  • operationalStatus
  • poweredOn
  • provisioning
属性类型描述

errorCount

整数

ErrorCount 记录主机在上一次成功操作后出现错误的次数

errorMessage

字符串

provisioning 子系统报告的最后一个错误消息

errorType

字符串

ErrorType 表示在 OperationalStatus 是 OperationalStatus 是 OperationalStatusError 时遇到的故障类型

goodCredentials

对象

我们能够验证为工作的最后一个凭证

hardware

对象

主机上存在发现的硬件。

hardwareProfile

字符串

与硬件详情匹配的配置集的名称。

lastUpdated

字符串

lastUpdated 标识此状态最后观察到的时间。

operationHistory

对象

operationHistory 包含有关在此主机上执行的操作的信息。

operationalStatus

字符串

OperationalStatus 保存主机的状态

poweredOn

布尔值

主机是否开机的指示器

provisioning

对象

置备程序跟踪的信息。

triedCredentials

对象

我们发送到置备后端的最后一个凭证

3.1.15. .status.goodCredentials

描述
我们能够验证为工作的最后一个凭证
类型
object
属性类型描述

credentials

对象

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

credentialsVersion

字符串

 

3.1.16. .status.goodCredentials.credentials

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

3.1.17. .status.hardware

描述
主机上存在发现的硬件。
类型
object
属性类型描述

cpu

对象

CPU 描述了主机上的一个处理器。

firmware

对象

固件描述了主机上的固件。

主机名

字符串

 

NIC

array

 

nics[]

对象

NIC 描述主机上的一个网络接口。

ramMebibytes

整数

 

storage

array

 

storage[]

对象

Storage 描述了主机上的一个存储设备(磁盘、SSD 等)。

systemVendor

对象

HardwareSystemVendor 存储整个硬件系统的详细信息。

3.1.18. .status.hardware.cpu

描述
CPU 描述了主机上的一个处理器。
类型
object
属性类型描述

arch

字符串

 

clockMegahertz

number

ClockSpeed 是 MHz 中的时钟速度

数量

整数

 

标记

数组(字符串)

 

model

字符串

 

3.1.19. .status.hardware.firmware

描述
固件描述了主机上的固件。
类型
object
属性类型描述

BIOS

对象

此固件的 BIOS

3.1.20. .status.hardware.firmware.bios

描述
此固件的 BIOS
类型
object
属性类型描述

date

字符串

此 BIOS 的发行版本/构建日期

vendor

字符串

此 BIOS 的供应商名称

version

字符串

BIOS 的版本

3.1.21. .status.hardware.nics

描述
类型
array

3.1.22. .status.hardware.nics[]

描述
NIC 描述主机上的一个网络接口。
类型
object
属性类型描述

ip

字符串

接口的 IP 地址。如果存在 IPv4 或 IPv6 地址,这将是 IPv4 或 IPv6 地址。如果双栈环境中同时存在 IPv4 和 IPv6 地址,则两个 nics 为输出,每个 IP 都有一个。

mac

字符串

设备 MAC 地址

model

字符串

NIC 的供应商和产品 ID,例如:"0x8086 0x1572"

name

字符串

网络接口的名称,如 "en0"

pxe

布尔值

NIC 是否可以引导

speedGbps

整数

设备每秒千兆位的速度

vlanId

整数

未标记的 VLAN ID

vlans

array

可用的 VLAN

vlans[]

对象

VLAN 代表 VLAN 的名称和 ID

3.1.23. .status.hardware.nics[].vlans

描述
可用的 VLAN
类型
array

3.1.24. .status.hardware.nics[].vlans[]

描述
VLAN 代表 VLAN 的名称和 ID
类型
object
属性类型描述

id

整数

VLANID 是一个 12 位 802.1Q VLAN 标识符

name

字符串

 

3.1.25. .status.hardware.storage

描述
类型
array

3.1.26. .status.hardware.storage[]

描述
Storage 描述了主机上的一个存储设备(磁盘、SSD 等)。
类型
object
属性类型描述

alternateNames

数组(字符串)

磁盘的备用 Linux 设备名称列表,例如"/dev/sda"。请注意,此列表并不完整,并且系统重启后名称可能不稳定。

hctl

字符串

设备的 SCSI 位置

model

字符串

硬件模型

name

string

磁盘的 Linux 设备名称,如 "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0"。如果一个名称可用,它将在重启后保持稳定。

rotational

布尔值

这个磁盘是否代表轮转存储。不建议使用此字段,首选使用 'Type' 字段,此字段最终将被弃用。

serialNumber

字符串

设备的序列号

sizeBytes

整数

Bytes 中磁盘大小

type

字符串

设备类型,其中之一: HDD、SSD、NVME。

vendor

字符串

设备的厂商名称

wwn

字符串

设备的 WWN

wwnVendorExtension

字符串

设备的 WWN 供应商扩展

wwnWithExtension

字符串

带有扩展名的 WWN

3.1.27. .status.hardware.systemVendor

描述
HardwareSystemVendor 存储整个硬件系统的详细信息。
类型
object
属性类型描述

manufacturer

字符串

 

productName

字符串

 

serialNumber

字符串

 

3.1.28. .status.operationHistory

描述
operationHistory 包含有关在此主机上执行的操作的信息。
类型
object
属性类型描述

取消置备

对象

OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。

inspect

对象

OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。

置备

对象

OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。

register

对象

OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。

3.1.29. .status.operationHistory.deprovision

描述
OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。
类型
object
属性类型描述

end

``

 

start

``

 

3.1.30. .status.operationHistory.inspect

描述
OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。
类型
object
属性类型描述

end

``

 

start

``

 

3.1.31. .status.operationHistory.provision

描述
OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。
类型
object
属性类型描述

end

``

 

start

``

 

3.1.32. .status.operationHistory.register

描述
OperationMetric 包含有关操作的元数据(检查、调配等),用于跟踪指标。
类型
object
属性类型描述

end

``

 

start

``

 

3.1.33. .status.provisioning

描述
置备程序跟踪的信息。
类型
object
必填
  • ID
  • state
属性类型描述

ID

字符串

来自底层调配工具的机器 UUID

bootMode

字符串

bootMode 表示用于置备节点的引导模式

customDeploy

对象

应用到主机的自定义部署流程。

firmware

对象

用户设置的 Bios

image

对象

镜像包含成功调配到主机的最后一个镜像的详细信息。

raid

对象

用户设置的 Raid

rootDeviceHints

对象

用户设置的 RootDevicehints

state

字符串

用于置备程序使用主机进行的操作的信息。

3.1.34. .status.provisioning.customDeploy

描述
应用到主机的自定义部署流程。
类型
object
必填
  • method
属性类型描述

method

字符串

自定义部署方法名称。此名称特定于使用的部署 ramdisk。如果您没有自定义部署 ramdisk,则不应使用自定义部署。

3.1.35. .status.provisioning.firmware

描述
用户设置的 Bios
类型
object
属性类型描述

simultaneousMultithreadingEnabled

布尔值

允许单个物理处理器内核显示为多个逻辑处理器。这支持以下选项: true,false。

sriovEnabled

布尔值

SR-IOV 支持可让虚拟机监控程序创建 PCI-express 设备的虚拟实例,这可能会提高性能。这支持以下选项: true,false。

virtualizationEnabled

布尔值

支持平台硬件的虚拟化。这支持以下选项: true,false。

3.1.36. .status.provisioning.image

描述
镜像包含成功调配到主机的最后一个镜像的详细信息。
类型
object
必填
  • url
属性类型描述

checksum

字符串

checksum 是镜像的 checksum。

checksumType

字符串

checksumType 是镜像的校验和算法。如 md5、sha256、sha512

格式

字符串

DiskFormat 包含镜像的格式(raw, qcow2, …​)。需要设置为 raw 用于原始镜像流。请注意 live-iso 意味着 url 引用的 iso 将会被实时引导,而不是部署到磁盘,在这种情况下,不需要校验和选项,如果指定,则忽略。

url

字符串

URL 是要部署的镜像的位置。

3.1.37. .status.provisioning.raid

描述
用户设置的 Raid
类型
object
属性类型描述

hardwareRAIDVolumes

``

硬件 RAID 的逻辑卷列表(如果 rootDeviceHints 没有使用),则第一个卷是 root 卷。您可以将此字段的值设置为 [] 来清除所有硬件 RAID 配置。

softwareRAIDVolumes

``

软件 RAID 的逻辑卷列表(如果 rootDeviceHints 没有使用),则第一个卷是 root 卷。如果设置了 HardwareRAIDVolumes,则此项将无效。创建的软件 RAID 设备的数量必须是 1 或 2。如果只有一个软件 RAID 设备,它必须是 RAID-1。如果有两个,则第一个必须是 RAID-1,而第二个的 RAID 级别可以是 0、1 或 1+0。因为第一个 RAID 设备将是部署设备,所以强制 RAID-1 会在磁盘失败时降低以非引导节点结束的风险。软件 RAID 将始终被删除。

3.1.38. .status.provisioning.rootDeviceHints

描述
用户设置的 RootDevicehints
类型
object
属性类型描述

deviceName

string

比如 "/dev/vda" 的 Linux 设备名称,或指向它的一个 by-path 链接,如 "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0"。hint 必须与实际值完全匹配。

hctl

字符串

SCSI 总线地址,如 0:0:0:0。hint 必须与实际值完全匹配。

minSizeGigabytes

整数

以 Gigabytes 为单位的设备的最小大小。

model

字符串

特定于厂商的设备标识符。hint 可以是实际值的子字符串。

rotational

布尔值

如果设备应使用旋转介质,则为 true,否则为 false。

serialNumber

字符串

设备序列号。hint 必须与实际值完全匹配。

vendor

字符串

设备的厂商或制造商的名称。hint 可以是实际值的子字符串。

wwn

字符串

唯一的存储标识符。hint 必须与实际值完全匹配。

wwnVendorExtension

字符串

唯一的厂商存储标识符。hint 必须与实际值完全匹配。

wwnWithExtension

字符串

附加厂商扩展的唯一存储标识符。hint 必须与实际值完全匹配。

3.1.39. .status.triedCredentials

描述
我们发送到置备后端的最后一个凭证
类型
object
属性类型描述

credentials

对象

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

credentialsVersion

字符串

 

3.1.40. .status.triedCredentials.credentials

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.