8.2. Web コンソールでの仮想マシンの作成
8.2.1. Web ページからイメージをインポートして仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
Web ページからオペレーティングシステムイメージをインポートすることで、仮想マシンを作成できます。
Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。
8.2.1.1. Web コンソールを使用して Web ページ上のイメージから仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して Web ページからイメージをインポートすることで、仮想マシンを作成できます。
前提条件
- イメージを含む Web ページにアクセスできる。
手順
-
Web コンソールで Virtualization
Catalog に移動します。 - 使用可能なブートソースのないテンプレートタイルをクリックします。
- Customize VirtualMachine をクリックします。
- Customize template parameters ページで、Storage を展開し、Disk source リストから URL (creates PVC) を選択します。
-
イメージの URL を入力します。例:
https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software - ディスクサイズを設定します。
- Next をクリックします。
- Create VirtualMachine をクリックします。
8.2.1.2. CLI を使用して Web ページ上のイメージから仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、Web ページ上のイメージから仮想マシンを作成できます。
仮想マシンが作成されると、イメージを含むデータボリュームが永続ストレージにインポートされます。
前提条件
- イメージが含まれている Web ページへのアクセス認証情報を持っている。
-
virtctlCLI がインストールされている。 -
OpenShift CLI (
oc) がインストールされている。
手順
仮想マシンの
VirtualMachineマニフェストを作成し、YAML ファイルとして保存します。たとえば、Web ページ上のイメージから最小限の Red Hat Enterprise Linux (RHEL) 仮想マシンを作成するには、次のコマンドを実行します。virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-import type:http,url:https://example.com/rhel9.qcow2,size:10Gi
$ virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-import type:http,url:https://example.com/rhel9.qcow2,size:10GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンの
VirtualMachineマニフェストを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して VM を作成します。
oc create -f <vm_manifest_file>.yaml
$ oc create -f <vm_manifest_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc createコマンドは、データボリュームと仮想マシンを作成します。CDI コントローラーは適切なアノテーションを使用して基礎となる PVC を作成し、インポートプロセスが開始されます。インポートが完了すると、データボリュームのステータスがSucceededに変わります。仮想マシンを起動できます。データボリュームのプロビジョニングはバックグランドで実行されるため、これをプロセスをモニターする必要はありません。
検証
インポーター Pod は、指定された URL からイメージをダウンロードし、プロビジョニングされた永続ボリュームに保存します。インポーター Pod のステータスを表示します。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow データボリュームの状態を監視します。
oc get dv <data_volume_name>
$ oc get dv <data_volume_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロビジョニングが成功すると、データボリュームのフェーズが
Succeededになります。出力例:
NAME PHASE PROGRESS RESTARTS AGE imported-volume-6dcpf Succeeded 100.0% 18s
NAME PHASE PROGRESS RESTARTS AGE imported-volume-6dcpf Succeeded 100.0% 18sCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロビジョニングが完了し、シリアルコンソールにアクセスして仮想マシンが起動したことを確認します。
virtctl console <vm_name>
$ virtctl console <vm_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンが実行中でシリアルコンソールにアクセスできる場合、出力は次のようになります。
Successfully connected to vm-rhel-9 console. The escape sequence is ^]
Successfully connected to vm-rhel-9 console. The escape sequence is ^]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.2. イメージをアップロードして仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
ローカルマシンからオペレーティングシステムイメージをアップロードすることで、仮想マシンを作成できます。
Windows イメージを PVC にアップロードすることで、Windows 仮想マシンを作成できます。次に、仮想マシンの作成時に PVC のクローンを作成します。
Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。
Windows 仮想マシンにも VirtIO ドライバー をインストールする必要があります。
8.2.2.1. Web コンソールを使用してアップロードしたイメージから仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、アップロードしたオペレーティングシステムイメージから仮想マシン (VM) を作成できます。
前提条件
-
IMG、ISO、またはQCOW2イメージファイルが必要です。
手順
-
Web コンソールで Virtualization
Catalog に移動します。 - 使用可能なブートソースのないテンプレートタイルをクリックします。
- Customize VirtualMachine をクリックします。
- Customize template parameters ページで、Storage を展開し、Disk source リストから Upload (Upload a new file to a PVC) を選択します。
- ローカルマシン上のイメージを参照し、ディスクサイズを設定します。
- Customize VirtualMachine をクリックします。
- Create VirtualMachine をクリックします。
8.2.2.1.1. 仮想マシンイメージの一般化 リンクのコピーリンクがクリップボードにコピーされました!
システム固有の設定データをすべて削除して Red Hat Enterprise Linux (RHEL) イメージを一般化してから、そのイメージを使用してゴールデンイメージ (仮想マシンの事前設定済みスナップショット) を作成できます。ゴールデンイメージを使用して新しい仮想マシンをデプロイできます。
virtctl、guestfs、virt-sysprep ツールを使用して、RHEL 仮想マシンを一般化できます。
前提条件
- ベースの仮想マシンとして使用する RHEL 仮想マシンがある。
-
OpenShift CLI (
oc) がインストールされている。 -
virtctlツールがインストールされている。
手順
実行中の RHEL 仮想マシンを停止するには、次のコマンドを入力します。
virtctl stop <my_vm_name>
$ virtctl stop <my_vm_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: 元の仮想マシンのデータが失われないように、仮想マシンのクローンを作成します。その後、クローンの仮想マシンを一般化できます。
次のコマンドを実行して、仮想マシンのルートファイルシステムを格納する
dataVolumeを取得します。oc get vm <my_vm_name> -o jsonpath="{.spec.template.spec.volumes}{'\n'}"$ oc get vm <my_vm_name> -o jsonpath="{.spec.template.spec.volumes}{'\n'}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
[{"dataVolume":{"name":"<my_vm_volume>"},"name":"rootdisk"},{"cloudInitNoCloud":{...}][{"dataVolume":{"name":"<my_vm_volume>"},"name":"rootdisk"},{"cloudInitNoCloud":{...}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、リストされた
dataVolumeに一致する永続ボリューム要求 (PVC) を取得します。oc get pvc
$ oc get pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE <my_vm_volume> Bound …
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE <my_vm_volume> Bound …Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記クラスター設定により仮想マシンを複製できない場合は、元の仮想マシンのデータが失われないように、代わりに仮想マシン PVC をデータボリュームに複製できます。その後、複製した PVC を使用してゴールデンイメージを作成できます。
PVC を複製してゴールデンイメージを作成する場合は、複製された PVC を使用して次の手順に進みます。
libguestfs-toolsを使用して新しいインタラクティブコンテナーをデプロイし、次のコマンドを実行して PVC をそれにアタッチします。virtctl guestfs <my-vm-volume> --uid 107
$ virtctl guestfs <my-vm-volume> --uid 107Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、次のコマンドを実行するためのシェルを開きます。
次のコマンドを実行して、システム固有のすべての設定を削除します。
virt-sysprep -a disk.img
$ virt-sysprep -a disk.imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
OpenShift Container Platform コンソールで、Virtualization
Catalog をクリックします。 - Add volume をクリックします。
Add volume ウィンドウで、以下を実行します。
- Source type リストから、Use existing Volume を選択します。
- Volume project リストからプロジェクトを選択します。
- Volume name リストから正しい PVC を選択します。
- Volume name フィールドに、新しいゴールデンイメージの名前を入力します。
- Preference リストから、使用している RHEL バージョンを選択します。
- Default Instance Type リストから、以前に選択した RHEL バージョンに適した CPU とメモリーの要件を持つインスタンスタイプを選択します。
- 異種クラスターのみ: Architecture リストから、選択したボリュームに対応するアーキテクチャーを選択します。
- Save をクリックします。
結果
新しいボリュームが Select volume to boot from リストに表示されます。これが新しいゴールデンイメージです。このボリュームを使用して新しい仮想マシンを作成できます。
8.2.2.2. Windows 仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Windows 仮想マシンを作成するには、Windows イメージを永続ボリューム要求 (PVC) にアップロードし、OpenShift Container Platform Web コンソールを使用して仮想マシンを作成するときに PVC のクローンを作成します。
前提条件
- Windows Media Creation Tool を使用して Windows インストール DVD または USB が作成されている。Microsoft ドキュメントの Create Windows 10 installation media を参照してください。
-
autounattend.xmlアンサーファイルを作成しました。Microsoft ドキュメントの Answer files (unattend.xml) を参照してください。
手順
Windows イメージを新しい PVC としてアップロードします。
-
Web コンソールで Storage
PersistentVolumeClaims に移動します。 -
Create PersistentVolumeClaim
With Data upload form をクリックします。 - Windows イメージを参照して選択します。
PVC 名を入力し、ストレージクラスとサイズを選択して、Upload をクリックします。
Windows イメージは PVC にアップロードされます。
-
Web コンソールで Storage
アップロードされた PVC のクローンを作成して、新しい仮想マシンを設定します。
-
Virtualization
Catalog に移動します。 - Windows テンプレートタイルを選択し、Customize VirtualMachine をクリックします。
- Disk source リストから Clone (clone PVC) を選択します。
- PVC プロジェクト、Windows イメージ PVC、およびディスクサイズを選択します。
-
Virtualization
アンサーファイルを仮想マシンに適用します。
- VirtualMachine パラメーターのカスタマイズ をクリックします。
- Scripts タブの Sysprep セクションで、Edit をクリックします。
-
autounattend.xml応答ファイルを参照し、Save をクリックします。
仮想マシンの実行ストラテジーを設定します。
- 仮想マシンがすぐに起動しないように、Start this VirtualMachine after creation をオフにします。
- Create VirtualMachine をクリックします。
-
YAML タブで、
running:falseをrunStrategy: RerunOnFailureに置き換え、Save をクリックします。
Options メニュー
をクリックして Start を選択します。
仮想マシンは、
autounattend.xmlアンサーファイルを含むsysprepディスクから起動します。
8.2.2.2.1. Windows 仮想マシンイメージの一般化 リンクのコピーリンクがクリップボードにコピーされました!
Windows オペレーティングシステムイメージを一般化して、イメージを使用して新しい仮想マシンを作成する前に、システム固有の設定データをすべて削除できます。
仮想マシンを一般化する前に、Windows の無人インストール後に sysprep ツールが応答ファイルを検出できないことを確認する必要があります。
前提条件
- QEMU ゲストエージェントがインストールされた実行中の Windows 仮想マシン。
手順
-
OpenShift Container Platform コンソールで、Virtualization
VirtualMachines をクリックします。 - Windows 仮想マシンを選択して、VirtualMachine details ページを開きます。
-
Configuration
Disks をクリックします。 -
sysprepディスクの横にある Options メニュー
をクリックし、Detach を選択します。
- Detach をクリックします。
-
sysprepツールによる検出を回避するために、C:\Windows\Panther\unattend.xmlの名前を変更します。 次のコマンドを実行して、
sysprepプログラムを開始します。%WINDIR%\System32\Sysprep\sysprep.exe /generalize /shutdown /oobe /mode:vm
%WINDIR%\System32\Sysprep\sysprep.exe /generalize /shutdown /oobe /mode:vmCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
sysprepツールが完了すると、Windows 仮想マシンがシャットダウンします。これで、仮想マシンのディスクイメージを Windows 仮想マシンのインストールイメージとして使用できるようになりました。
結果
これで、仮想マシンを特殊化できます。
8.2.2.2.2. Windows 仮想マシンイメージの特殊化 リンクのコピーリンクがクリップボードにコピーされました!
Windows 仮想マシンを特殊化すると、一般化された Windows イメージから VM にコンピューター固有の情報が設定されます。
前提条件
- 一般化された Windows ディスクイメージが必要です。
-
unattend.xml応答ファイルを作成する必要があります。詳細は、Microsoft のドキュメント を参照してください。
手順
-
OpenShift Container Platform コンソールで、Virtualization
Catalog をクリックします。 - Windows テンプレートを選択し、Customize VirtualMachine をクリックします。
- Disk source リストから PVC (clone PVC) を選択します。
- 一般化された Windows イメージの PVC プロジェクトと PVC 名を選択します。
- VirtualMachine パラメーターのカスタマイズ をクリックします。
- Scripts タブをクリックします。
-
Sysprep セクションで、Edit をクリックし、
unattend.xml応答ファイルを参照して、Save をクリックします。 - Create VirtualMachine をクリックします。
結果
Windows は初回起動時に、unattend.xml 応答ファイルを使用して VM を特殊化します。これで、仮想マシンを使用する準備が整いました。
8.2.2.3. CLI を使用してアップロードしたイメージから仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
virtctl コマンドラインツールを使用して、オペレーティングシステムイメージをアップロードできます。既存のデータボリュームを使用することも、イメージ用に新しいデータボリュームを作成することもできます。
前提条件
-
ISO、IMG、またはQCOW2オペレーティングシステムイメージファイルがある。 -
最高のパフォーマンスを得るには、virt-sparsify ツールまたは
xzユーティリティーまたはgzipユーティリティーを使用してイメージファイルを圧縮しておく。 - クライアントマシンが OpenShift Container Platform ルーターの証明書を信頼するように設定されている。
-
virtctlCLI がインストールされている。 -
OpenShift CLI (
oc) がインストールされている。
手順
virtctl image-uploadコマンドを実行してイメージをアップロードします。virtctl image-upload dv <datavolume_name> \ --size=<datavolume_size> \ --image-path=</path/to/image> \
$ virtctl image-upload dv <datavolume_name> \1 --size=<datavolume_size> \2 --image-path=</path/to/image> \3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-
新規データボリュームを作成する必要がない場合は、
--sizeパラメーターを省略し、--no-createフラグを含めます。 - ディスクイメージを PVC にアップロードする場合、PVC サイズは圧縮されていない仮想ディスクのサイズよりも大きくなければなりません。
-
HTTPS を使用したセキュアでないサーバー接続を許可するには、
--insecureパラメーターを使用します。--insecureフラグを使用する際に、アップロードエンドポイントの信頼性は検証 されない 点に注意してください。
-
新規データボリュームを作成する必要がない場合は、
オプション: データボリュームが作成されたことを確認するには、以下のコマンドを実行してすべてのデータボリュームを表示します。
oc get dvs
$ oc get dvsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3. 仮想マシンのクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンのクローンを作成するか、スナップショットから新しい仮想マシンを作成できます。
vTPM デバイスがアタッチされた仮想マシンのクローン作成や、そのスナップショットからの新しい仮想マシンの作成は、サポートされていません。
8.2.3.1. Web コンソールを使用して仮想マシンを複製する リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、既存の仮想マシンを複製できます。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 - 仮想マシンを選択して、VirtualMachine details ページを開きます。
Actions をクリックします。
または、仮想マシンを右クリックして、ツリービューで同じメニューにアクセスします。
- Clone を選択します。
- Clone VirtualMachine ページで、新しい仮想マシンの名前を入力します。
- (オプション) Start cloned VM チェックボックスを選択して、複製された仮想マシンを開始します。
- Clone をクリックします。
8.2.3.2. Web コンソールを使用して既存のスナップショットから仮想マシンを作成する リンクのコピーリンクがクリップボードにコピーされました!
既存のスナップショットをコピーすることで、新しい仮想マシンを作成できます。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 - 仮想マシンを選択して、VirtualMachine details ページを開きます。
- Snapshots タブをクリックします。
-
コピーするスナップショットの Options メニュー
をクリックします。
- Create VirtualMachine を選択します。
- 仮想マシンの名前を入力します。
- (オプション) Start this VirtualMachine after creation チェックボックスを選択して、新しい仮想マシンを起動します。
- Create をクリックします。