1.3.3.2. DataVolume を使用した既存の仮想マシンイメージのインポート
DataVolume オブジェクトは、基礎となる PVC に関連付けられたインポート、クローンおよびアップロード操作のオーケストレーションを提供します。DataVolume は KubeVirt と統合し、それらは仮想マシンが PVC の作成前に起動するのを防ぎます。
ディスクイメージを PersistentVolumeClaim にインポートする際に、ディスクイメージは PVC で要求されるストレージの全容量を使用するように拡張されます。この領域を使用するには、仮想マシンのディスクパーティションおよびファイルシステムの拡張が必要になる場合があります。
サイズ変更の手順は、仮想マシンにインストールされるオペレーティングシステムによって異なります。詳細は、該当するオペレーティングシステムのドキュメントを参照してください。
前提条件
- 仮想マシンディスクには RAW または QCOW2 形式を使用でき、xz または gz を使用して圧縮できます。
- ディスクイメージは、HTTP または S3 エンドポイントのいずれかで利用可能にする必要があります。
手順
インポートする必要のある仮想ディスクイメージをホストする HTTP または S3 ファイルサーバーを特定します。正しい形式での完全な URL が必要になります。
- http://www.example.com/path/to/data
- s3://bucketName/fileName
データソースに認証情報が必要な場合、endpoint-secret.yaml ファイルを編集し、これをクラスターに適用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f endpoint-secret.yaml
$ oc apply -f endpoint-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM 設定ファイル (オプションで
secretRef
パラメーターが含まれる) を編集します。以下のサンプルでは、Fedora イメージを使用しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンを作成します。
oc create -f vm-<name>-datavolume.yaml
$ oc create -f vm-<name>-datavolume.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンおよび DataVolume が作成されます。CDI コントローラーは、正しいアノテーションを使用して基礎となる PVC を作成し、インポートプロセスを開始します。インポートが完了すると、DataVolume ステータスは Succeeded に切り替わり、仮想マシンの起動が可能になります。
DataVolume のプロビジョニングはバックグランドで実行されるため、これをモニターする必要はありません。仮想マシンを起動 できますが、これはインポートが完了するまで実行されません。
オプションの検証手順
-
$ oc get pods
を実行し、インポーター Pod を見つけます。この Pod は指定された URL からイメージをダウンロードし、これをプロビジョニングされた PV に保存します。 Succeeded が表示されるまで DataVolume ステータスをモニターします。
oc describe dv <data-label>
$ oc describe dv <data-label>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- VirtualMachine 設定ファイルで指定された DataVolume のデータラベル。
プロビジョニングが完了し、VMI が起動したことを検証するには、そのシリアルコンソールへのアクセスを試行します。
virtctl console <vm-fedora-datavolume>
$ virtctl console <vm-fedora-datavolume>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow