1.5.2. MAC アドレスを指定した PXE ブート
PXE ブートまたはネットワークブートは Container-native Virtualization でサポートされています。ネットワークブートにより、ローカルに割り当てられたストレージデバイスなしにコンピューターを起動し、オペレーティングシステムまたは他のプログラムを起動し、ロードすることができます。たとえば、これにより、新規ホストのデプロイ時に PXE サーバーから必要な OS イメージを選択できます。
「リファレンス」セクションには、PXE ブートの設定ファイルテンプレートがあります。
前提条件
- OpenShift Container Platform 3.11 以降を実行するクラスター
- PXE ブートを許可する設定済みのインターフェース
手順
クラスターに PXE ネットワークを設定します。
PXE ネットワーク
pxe-net-conf
の NetworkAttachmentDefinition を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この例では、VMI はトランクポート経由で Open vSwitch ブリッジ
<br1>
に割り当てられます。Open vSwitch ブリッジ
<br1>
を作成し、これをインターフェース<eth1>
に接続します。 これは、PXE ブートを許可するネットワークに接続されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このブリッジはすべてのノードで設定される必要があります。これがノードのサブセットでのみ利用可能な場合は、VMI の nodeSelector 制約が有効であることを確認してください。
仮想マシンインスタンス設定ファイルを、インターフェースおよびネットワークの詳細を含めるように編集します。
PXE サーバーで必要な場合には、ネットワークおよび MAC アドレスを指定します。MAC アドレスが指定されていない場合、値は自動的に割り当てられます。ただし、この時点で自動的に割り当てられる MAC アドレスは永続しないことに注意してください。
bootOrder
が1
に設定されており、インターフェースが最初に起動することを確認します。この例では、インターフェースは<pxe-net>
というネットワークに接続されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記複数のインターフェースおよびディスクのブートの順序はグローバル順序になります。
OS プロビジョニングの後に起動が適切に実行されるよう、ブートデバイス番号をディスクに割り当てます。
ディスク
bootOrder
の値を2
に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ネットワークが直前に作成された NetworkAttachmentDefinition に接続されるように指定します。このシナリオでは、
<pxe-net>
は<pxe-net-conf>
という NetworkAttachmentDefinition に接続されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
仮想マシンインスタンスを作成します。
oc create -f vmi-pxe-boot.yaml
$ oc create -f vmi-pxe-boot.yaml virtualmachineinstance.kubevirt.io "vmi-pxe-boot" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンインスタンスの実行を待機します。
oc get vmi vmi-pxe-boot -o yaml | grep -i phase
$ oc get vmi vmi-pxe-boot -o yaml | grep -i phase phase: Running
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VNC を使用して仮想マシンインスタンスを表示します。
virtctl vnc vmi-pxe-boot
$ virtctl vnc vmi-pxe-boot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブート画面で、PXE ブートが正常に実行されていることを確認します。
VMI にログインします。
virtctl console vmi-pxe-boot
$ virtctl console vmi-pxe-boot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンのインターフェースおよび MAC アドレスを確認し、ブリッジに接続されたインターフェースに指定された MAC アドレスがあることを確認します。この場合、PXE ブートには IP アドレスなしに
eth1
を使用しています。他のインターフェースeth0
は OpenShift Container Platform から IP アドレスを取得しています。ip addr
$ ip addr ... 3. eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether de:00:00:00:00:de brd ff:ff:ff:ff:ff:ff
Copy to Clipboard Copied! Toggle word wrap Toggle overflow