3.8. 将不可启动的 ISO 附加到裸机节点
您可以使用 DataImage
资源将通用、不可启动的 ISO 虚拟介质镜像附加到置备的节点上。在应用了资源后,操作系统引导后,ISO 镜像将可以被操作系统访问。这可用于在置备操作系统后配置节点,并在节点第一次引导前配置节点。
先决条件
- 节点必须使用 Redfish 或从中派生的驱动程序来支持此功能。
-
节点必须处于
Provisioned
或ExternallyProvisioned
状态。 -
名称
必须与其在BareMetalHost
资源中定义的节点名称相同。 -
有 ISO 镜像的有效
url
。
流程
创建一个
DataImage
资源:apiVersion: metal3.io/v1alpha1 kind: DataImage metadata: name: <node_name> 1 spec: url: "http://dataimage.example.com/non-bootable.iso" 2
运行以下命令,将
DataImage
资源保存到文件中:$ vim <node_name>-dataimage.yaml
运行以下命令来应用
DataImage
资源:$ oc apply -f <node_name>-dataimage.yaml -n <node_namespace> 1
- 1
- 替换
<node_namespace>
,以便命名空间与BareMetalHost
资源的命名空间匹配。例如,openshift-machine-api
。
重新引导节点。
注意要重新引导节点,请附加
reboot.metal3.io
注解,或重置BareMetalHost
资源中的online
状态。对裸机节点强制重启会使节点的状态在一段事件内变为NotReady
。例如,5 分钟或更长时间。运行以下命令来查看
DataImage
资源:$ oc get dataimage <node_name> -n openshift-machine-api -o yaml
输出示例
apiVersion: v1 items: - apiVersion: metal3.io/v1alpha1 kind: DataImage metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"metal3.io/v1alpha1","kind":"DataImage","metadata":{"annotations":{},"name":"bmh-node-1","namespace":"openshift-machine-api"},"spec":{"url":"http://dataimage.example.com/non-bootable.iso"}} creationTimestamp: "2024-06-10T12:00:00Z" finalizers: - dataimage.metal3.io generation: 1 name: bmh-node-1 namespace: openshift-machine-api ownerReferences: - apiVersion: metal3.io/v1alpha1 blockOwnerDeletion: true controller: true kind: BareMetalHost name: bmh-node-1 uid: 046cdf8e-0e97-485a-8866-e62d20e0f0b3 resourceVersion: "21695581" uid: c5718f50-44b6-4a22-a6b7-71197e4b7b69 spec: url: http://dataimage.example.com/non-bootable.iso status: attachedImage: url: http://dataimage.example.com/non-bootable.iso error: count: 0 message: "" lastReconciled: "2024-06-10T12:05:00Z"