3.7. ブータブルでない ISO をベアメタルノードにアタッチする
DataImage
リソースを使用すると、ブータブルでない汎用の ISO 仮想メディアイメージを、プロビジョニングされたノードにアタッチできます。リソースを適用すると、起動後にオペレーティングシステムから ISO イメージにアクセスできるようになります。これは、オペレーティングシステムをプロビジョニングした後、ノードが初めて起動する前にノードを設定する場合に便利です。
前提条件
- この機能をサポートするために、ノードが Redfish またはそれから派生したドライバーを使用している。
-
ノードが
Provisioned
またはExternallyProvisioned
状態である。 -
name
が、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
- namespace が
BareMetalHost
リソースの namespace と一致するように<node_namespace>
を置き換えます。たとえば、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"