第8章 仮想マシンテンプレート
8.1. 仮想マシンテンプレートの作成
8.1.1. 仮想マシンテンプレートについて
事前に設定された Red Hat 仮想マシンテンプレートは、Virtualization ページの Templates タブに一覧表示されます。このテンプレートは、Red Hat Enterprise Linux、Fedora、Microsoft Windows 10、および Microsoft Windows Server の異なるバージョンで利用できます。各 Red Hat 仮想マシンテンプレートは、オペレーティングシステムイメージ、オペレーティングシステム、フレーバー (CPU およびメモリー)、およびワークロードタイプ (サーバー) のデフォルト設定で事前に設定されます。
Templates タブには、4 種類の仮想マシンテンプレートが表示されます。
- Red Hat でサポートされる テンプレートは、Red Hat によって完全にサポートされています。
- ユーザーがサポート するテンプレートは、ユーザーがクローンして作成した Red Hat でサポートされる テンプレートです。
- Red Hat が提供する テンプレートには、Red Hat の制限されたサポートがあります。
- User Provided テンプレートは、ユーザーがクローンして作成した Red Hat Provided テンプレートです。
Templates タブでは、Red Hat がサポートするテンプレートまたは Red Hat が提供するテンプレートを編集したり、削除したりすることはできません。ユーザーによって作成されたカスタム仮想マシンテンプレートのみを編集したり、削除したりすることができます。
テンプレートがすでに事前に設定されているため、Red Hat テンプレートを使用すると便利です。Red Hat テンプレートを選択して独自のカスタムテンプレートを作成すると、ブートソースが以前に追加されていない場合に、Create Virtual Machine Template ウィザードにより、ブートソースの追加を求めるプロンプトが出されます。次に、カスタムテンプレートを保存するか、または続行してこれをカスタマイズし、保存することができます。
Create Virtual Machine Template ウィザードを直接選択し、カスタム仮想マシンテンプレートを作成することもできます。このウィザードにより、オペレーティングシステム、フレーバー、ワークロードタイプおよび他の設定の詳細情報を提供するように求めるプロンプトが出されます。ブートソースを追加して、続行してテンプレートをカスタマイズし、保存できます。
8.1.2. 仮想マシンテンプレートのブートソースの追加
ブートソースは、仮想マシンの作成に使用するすべての仮想マシンテンプレートまたはカスタムテンプレートに設定できます。仮想マシンテンプレートがブートソースを使用して設定されている場合、それらには Templates タブで Available というラベルが付けられます。ブートソースをテンプレートに追加した後に、テンプレートから新規仮想マシンを作成できます。
Web コンソールでブートソースを選択および追加する方法は 4 つあります。
- ローカルファイルのアップロード (PVC の作成)
- URL を使用したインポート (PVC の作成)
- 既存の PVC のクローン作成 (PVC の作成)
- レジストリーを使用したインポート (PVC の作成)
前提条件
-
ブートソースを追加するには、
os-images.kubevirt.io:edit
RBAC ロールを持つユーザー、または管理者としてログインしていること。ブートソースが追加されたテンプレートから仮想マシンを作成するには、特別な権限は必要ありません。 - ローカルファイルをアップロードするには、オペレーティングシステムのイメージファイルがローカルマシンに存在している必要がある。
- URL を使用してインポートするには、オペレーティングシステムイメージのある Web サーバーへのアクセスが必要である。例: イメージが含まれる Red Hat Enterprise Linux Web ページ。
- 既存の PVC のクローンを作成するには、PVC を含むプロジェクトへのアクセスが必要である。
- レジストリーを使用してインポートするには、コンテナーレジストリーへのアクセスが必要である。
手順
-
OpenShift Virtualization コンソールのサイドメニューから Workloads
Virtualization をクリックします。 - Templates タブをクリックします。
- ブートソースを設定する仮想マシンテンプレートを特定し、Add source をクリックします。
- Add boot source to template ウィンドウで、 Select boot source をクリックし、永続ボリューム要求 (PVC) を作成するための方法を選択します: ローカルファイルのアップロード、URL を使用したインポート、既存 PVC のクローン作成、またはレジストリーを使用したインポート。
- オプション:This is a CD-ROM boot source をクリックして CD-ROM をマウントし、これを使用してオペレーティングシステムを空のディスクにインストールします。追加の空のディスクは OpenShift Virtualization で自動作成およびマウントされます。追加のディスクが必要ない場合には、仮想マシンの作成時に削除できます。
Persistent Volume Claim size の値を入力し、圧縮解除されたイメージおよび必要な追加の領域に十分な PVC サイズを指定します。
- オプション: このテンプレートに名前を関連付けるために Source provider の名前を入力します。
- Advanced: Storage class をクリックし、ディスクを作成するために使用されるストレージクラスを選択します。
- Advanced: Access mode をクリックし、永続ボリュームのアクセスモードを選択します。サポートされるアクセスモード: Single User (RWO)、Shared Access (RWX)、および Read Only (ROX)。
- Advanced: デフォルト値の Filesystem の代わりに Block を選択する場合は、Volume mode をクリックします。
ブートソースを保存する適切な方法を選択します。
- ローカルファイルをアップロードしている場合に、Save and upload をクリックします。
- URL またはレジストリーからコンテンツをインポートしている場合は、Save and import をクリックします。
- 既存の PVC のクローンを作成している場合は、Save and clone をクリックします。
ブートソースが含まれるカスタム仮想マシンテンプレートは Templates タブに一覧表示され、このテンプレートを使用して仮想マシンを作成できます。
8.1.2.1. ブートソースを追加するための仮想マシンテンプレートフィールド
以下の表は、Add boot source to template ウインドウのフィールドについて説明しています。このウィンドウは、Templates タブで仮想マシンテンプレートの Add Source をクリックすると表示されます。
名前 | パラメーター | 説明 |
---|---|---|
ブートソースタイプ | ローカルファイルのアップロード (PVC の作成) | ローカルデバイスからファイルをアップロードします。サポートされるファイルタイプには、gz、xz、tar、および qcow2 が含まれます。 |
URL を使用したインポート (PVC の作成) | HTTP または HTTPS エンドポイントで利用できるイメージからコンテンツをインポートします。イメージのダウンロードが利用可能である Web ページからダウンロードリンク URL を取得し、その URL リンクを Import via URL (creates PVC) フィールドに入力します。例: Red Hat Enterprise Linux イメージについては、Red Hat カスタマーポータルにログインしてイメージのダウンロードページにアクセスし、KVM ゲストイメージのダウンロードリンク URL をコピーします。 | |
既存の PVC のクローン作成 (PVC の作成) | クラスターですでに利用可能な PVC を使用し、このクローンを作成します。 | |
レジストリーを使用したインポート (PVC の作成) | クラスターからアクセスでき、レジストリーにある起動可能なオペレーティングシステムコンテナーを指定します。例: kubevirt/cirros-registry-dis-demo | |
ソースプロバイダー | オプションフィールド。テンプレートのソース、またはテンプレートを作成したユーザーの名前についての説明テキストを追加します。例: Red Hat | |
Advanced | ストレージクラス | ディスクの作成に使用されるストレージクラス。 |
アクセスモード |
永続ボリュームのアクセスモード。サポートされるアクセスモードは、Single User(RWO)、Shared Access(RWX)、Read Only (ROX) です。Single User (RWO) が選択される場合、ディスクは単一ノードによって読み取り/書き込み ( read/write) としてマウントできます。Shared Access (RWX) が選択される場合、ディスクは多数のノードによって読み取り/書き込み (read-write) としてマウントできます。 + 注記 Shared Access (RWX) は、ノード間の仮想マシンのライブマイグレーションなどの、一部の機能で必要になります。 | |
ボリュームモード |
永続ボリュームがフォーマットされたファイルシステムまたは raw ブロック状態を使用するかどうかを定義します。サポートされるモードは Block および Filesystem です。 |
8.1.3. 仮想マシンテンプレートをお気に入りとしてマーク
頻繁に使用される仮想マシンテンプレートへのアクセスを容易にするため、これらのテンプレートをお気に入りとしてマークすることができます。
手順
-
OpenShift Virtualization コンソールのサイドメニューから Workloads
Virtualization をクリックします。 - Templates タブをクリックします。
- お気に入りとしてマークを付ける Red Hat テンプレートを特定します。
- Options メニュー をクリックし、 Favorite template を選択します。テンプレートは、表示されるテンプレート一覧の上位に移動します。
8.1.4. プロバイダーによる仮想マシンテンプレート一覧のフィルター
Templates タブで、Search by name フィールドを使用し、テンプレートの名前、またはテンプレートを特定するラベルのいずれかを指定して仮想マシンテンプレートを検索できます。プロバイダーでテンプレートをフィルターし、フィルター条件を満たすテンプレートのみを表示することもできます。
手順
-
OpenShift Virtualization コンソールのサイドメニューから Workloads
Virtualization をクリックします。 - Templates タブをクリックします。
- テンプレートをフィルターするには、Filter をクリックします。
- 一覧から該当するチェックボックスを選択してテンプレートをフィルターします: Red Hat Supported、User Supported、Red Hat Provided、および User Provided。
8.1.5. Web コンソールでのウィザードを使用した仮想マシンテンプレートの作成
Web コンソールは、General、Networking、 Storage、Advanced、および Review ステップへの移動を可能にし、仮想マシンテンプレートの作成プロセスを単純化する Create Virtual Machine Template ウィザードを特長としています。すべての必須フィールドには * のマークが付けられます。Create Virtual Machine Template ウィザードは必須フィールドへの値の入力が完了するまで次のステップに移動することを防ぎます。
ウィザードを使用して、オペレーティングシステム、ブートソース、フレーバーその他の設定を指定するカスタム仮想マシンテンプレートを作成できます。
手順
-
OpenShift Virtualization コンソールのサイドメニューから Workloads
Virtualization をクリックします。 - Templates タブをクリックします。
- Create をクリックし、Template with Wizard を選択します。
- General ステップで必要なすべてのフィールドに入力します。
Next をクリックして Networking ステップに進みます。デフォルトで
nic0
という名前の NIC が割り当てられます。- オプション: Add Network Interface をクリックし、追加の NIC を作成します。
- オプション: すべての NIC の削除は、Options メニュー をクリックし、Delete を選択して実行できます。テンプレートから作成される仮想マシンには、割り当てられている NIC は不要です。NIC は仮想マシンの作成後に作成できます。
- Next をクリックして Storage ステップに進みます。
Add Disk をクリックしてディスクを追加し、Add Disk 画面でフィールドの選択を完了します。
注記Import via URL (creates PVC)、Import via Registry (creates PVC)、または Container (ephemeral) が Source として選択される場合、
rootdisk
ディスクが作成され、Bootable Disk として仮想マシンに割り当てられます。Bootable Disk は、仮想マシンにディスクが割り当てられていない場合、PXE ソースからプロビジョニングされる仮想マシンには不要です。1 つ以上のディスクが仮想マシンに割り当てられている場合、Bootable Disk を 1 つを選択する必要があります。
空のディスク、有効なブートソースのない PVC ディスク、および cloudinitdisk をブートソースとして使用することはできません。
- オプション: Advanced をクリックして Cloud-init を設定します。
- Review をクリックして、設定を確認し、確定します。
- Create Virtual Machine template をクリックします。
- See virtual machine template details をクリックして、仮想マシンテンプレートの詳細を表示します。
テンプレートは Templates タブにも一覧表示されます。
8.1.6. 仮想マシンテンプレートウィザードのフィールド
以下の表は、Create Virtual Machine Template ウィザードの General、Networking、Storage、および Advanced ステップのフィールドを説明しています。
8.1.6.1. 仮想マシンテンプレートウィザードのフィールド
名前 | パラメーター | 説明 |
---|---|---|
Template | 仮想マシンの作成に使用するテンプレート。テンプレートを選択すると、他のフィールドが自動的に入力されます。 | |
名前 |
この名前には、小文字 ( | |
テンプレートプロバイダー | クラスターのテンプレートを作成するユーザーの名前、またはこのテンプレートを識別しやすい名前。 | |
テンプレートサポート | 追加のサポートはありません | このテンプレートには、クラスターの追加サポートは含まれません。 |
テンプレートプロバイダーによるサポート | このテンプレートは、テンプレートプロバイダーによってサポートされます。 | |
説明 | オプションの説明フィールド。 | |
Operating System | 仮想マシン用に選択される主なオペレーティングシステム。オペレーティングシステムを選択すると、そのオペレーティングシステムのデフォルトの Flavor および Workload Type が自動的に選択されます。 | |
Boot Source | URL を使用したインポート (PVC の作成) | HTTP または HTTPS エンドポイントで利用できるイメージからコンテンツをインポートします。例: オペレーティングシステムイメージのある Web ページから URL リンクを取得します。 |
既存の PVC のクローン作成 (PVC の作成) | クラスターで利用可能な既存の永続ボリューム要求 (PVC) を選択し、これをクローンします。 | |
レジストリーを使用したインポート (PVC の作成) |
クラスターからアクセスできるレジストリーの起動可能なオペレーティングシステムコンテナーから仮想マシンをプロビジョニングします。例: | |
PXE (ネットワークブート: ネットワークインターフェイスの追加) | ネットワークのサーバーからオペレーティングシステムを起動します。PXE ブート可能なネットワーク接続定義が必要です。 | |
永続ボリューム要求 (PVC) のプロジェクト | PVC のクローン作成に使用するプロジェクト名。 | |
永続ボリューム要求 (PVC) の名前 | 既存の PVC のクローンを作成する場合にこの仮想マシンテンプレートに適用する必要のある PVC 名。 | |
これを CD-ROM ブートソースとしてマウントする | CD-ROM には、オペレーティングシステムをインストールするための追加のディスクが必要です。チェックボックスを選択して、ディスクを追加し、後でカスタマイズします。 | |
Flavor | Tiny、Small、Medium、Large、Custom | 仮想マシンに割り当てられる CPU およびメモリーの量を決定するプリセット。Flavor に設定される Preset はオペレーティングシステムによって決まります。 |
Workload Type | Desktop | デスクトップで使用するための仮想マシン設定。小規模な環境での使用に適しています。Web コンソールでの使用に推奨されます。 |
Server | パフォーマンスのバランスを図り、さまざまなサーバーのワークロードと互換性があります。 | |
High-Performance | 高パフォーマンスのワークロードに対して最適化された仮想マシン設定。 |
8.1.6.2. ネットワークフィールド
名前 | 説明 |
---|---|
名前 | ネットワークインターフェイスコントローラーの名前。 |
モデル | ネットワークインターフェイスコントローラーのモデルを示します。サポートされる値は e1000e および virtio です。 |
ネットワーク | 利用可能なネットワーク接続定義の一覧。 |
Type |
利用可能なバインディングメソッドの一覧。デフォルトの Pod ネットワークについては、 |
MAC Address | ネットワークインターフェイスコントローラーの MAC アドレス。MAC アドレスが指定されていない場合、これは自動的に割り当てられます。 |
8.1.6.3. ストレージフィールド
名前 | 選択 | 説明 |
---|---|---|
Source | 空白 (PVC の作成) | 空のディスクを作成します。 |
URL を使用したインポート (PVC の作成) | URL (HTTP または HTTPS エンドポイント) を介してコンテンツをインポートします。 | |
既存 PVC の使用 | クラスターですでに利用可能な PVC を使用します。 | |
既存の PVC のクローン作成 (PVC の作成) | クラスターで利用可能な既存の PVC を選択し、このクローンを作成します。 | |
レジストリーを使用したインポート (PVC の作成) | コンテナーレジストリーを使用してコンテンツをインポートします。 | |
コンテナー (一時的) | クラスターからアクセスできるレジストリーにあるコンテナーからコンテンツをアップロードします。コンテナーディスクは、CD-ROM や一時的な仮想マシンなどの読み取り専用ファイルシステムにのみ使用する必要があります。 | |
名前 |
ディスクの名前。この名前には、小文字 ( | |
Size | ディスクのサイズ (GiB 単位)。 | |
Type | ディスクのタイプ。例: Disk または CD-ROM | |
Interface | ディスクデバイスのタイプ。サポートされるインターフェイスは、virtIO、SATA、および SCSI です。 | |
Storage Class | ディスクの作成に使用されるストレージクラス。 | |
Advanced | 永続ボリュームがフォーマットされたファイルシステムまたは raw ブロック状態を使用するかどうかを定義します。デフォルトは Filesystem です。 | |
Advanced | 永続ボリュームのアクセスモード。サポートされるアクセスモードは、Single User (RWO)、Shared Access (RWX)、および Read Only (ROX) です。 |
ストレージの詳細設定
以下のストレージの詳細設定は、Blank、Import via URLURL、および Clone existing PVC ディスクで利用できます。これらのパラメーターはオプションです。これらのパラメーターを指定しない場合、システムは kubevirt-storage-class-defaults
設定マップのデフォルト値を使用します。
名前 | パラメーター | 説明 |
---|---|---|
ボリュームモード | Filesystem | ファイルシステムベースのボリュームで仮想ディスクを保存します。 |
Block |
ブロックボリュームで仮想ディスクを直接保存します。基礎となるストレージがサポートしている場合は、 | |
アクセスモード | Single User (RWO) | ディスクは単一ノードで読み取り/書き込みとしてマウントできます。 |
Shared Access (RWX) | ディスクは数多くのノードで読み取り/書き込みとしてマウントできます。 注記 これは、ノード間の仮想マシンのライブマイグレーションなどの、一部の機能で必要になります。 | |
Read Only (ROX) | ディスクは数多くのノードで読み取り専用としてマウントできます。 |
8.1.6.4. Cloud-init フィールド
名前 | 説明 |
---|---|
Hostname | 仮想マシンの特定のホスト名を設定します。 |
認可された SSH キー | 仮想マシンの ~/.ssh/authorized_keys にコピーされるユーザーの公開鍵。 |
カスタムスクリプト | 他のオプションを、カスタム cloud-init スクリプトを貼り付けるフィールドに置き換えます。 |
8.1.7. 追加リソース
- SR-IOV ネットワーク Operator についての詳細は、SR-IOV ネットワーク Operator の設定 を参照してください。