第11章 仮想マシンテンプレート

11.1. 仮想マシンテンプレートの作成

11.1.1. 仮想マシンテンプレートについて

事前設定された Red Hat 仮想マシンテンプレートは、VirtualizationTemplates ページにリスト表示されます。このテンプレートは、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 テンプレートです。

テンプレートカタログのフィルターを使用して、ブート ソースの可用性、オペレーティングシステム、ワークロードなどの属性でテンプレートを並べ替えることができます。

Red Hat が サポートするテンプレートまたは Red Hat が提供するテンプレートを編集または削除することはできません。テンプレートのクローンを作成し、カスタム仮想マシンテンプレートとして保存してから編集できます。

YAML ファイルの例を編集して、カスタム仮想マシンテンプレートを作成することもできます。

11.1.2. 仮想マシンおよびブートソースについて

仮想マシンは、仮想マシン定義と、データボリュームでサポートされる 1 つ以上のディスクで設定されます。仮想マシンテンプレートを使用すると、事前定義された仮想マシン仕様を使用して仮想マシンを作成できます。

すべての仮想マシンテンプレートには、設定されたドライバーを含む完全に設定された仮想マシンディスクイメージであるブートソースが必要です。それぞれの仮想マシンテンプレートには、ブートソースへのポインターを含む仮想マシン定義が含まれます。各ブートソースには、事前に定義された名前および namespace があります。オペレーティングシステムによっては、ブートソースは自動的に提供されます。これが提供されない場合、管理者はカスタムブートソースを準備する必要があります。

提供されたブート ソースは、オペレーティングシステムの最新バージョンに自動的に更新されます。自動更新されたブートソースの場合、クラスターのデフォルトのストレージクラスを使用して、永続ボリューム要求 (PVC) が作成されます。設定後に別のデフォルトのストレージクラスを選択した場合は、以前のデフォルトのストレージクラスで設定されたクラスター namespace 内の既存のデータボリュームを削除する必要があります。

ブートソース機能を使用するには、OpenShift Virtualization の最新リリースをインストールします。namespace の openshift-virtualization-os-images はこの機能を有効にし、OpenShift Virtualization Operator でインストールされます。ブートソース機能をインストールしたら、ブートソースを作成してそれらをテンプレートに割り当て、テンプレートから仮想マシンを作成できます。

ローカルファイルのアップロード、既存 PVC のクローン作成、レジストリーからのインポート、または URL を使用して設定される永続ボリューム要求 (PVC) を使用してブートソースを定義します。Web コンソールを使用して、ブートソースを仮想マシンテンプレートに割り当てます。ブートソースが仮想マシンテンプレートに割り当てられた後に、テンプレートを使用して任意の数の完全に設定済みの準備状態の仮想マシンを作成できます。

11.1.3. Web コンソールでの仮想マシンテンプレートの作成

OpenShift Container Platform Web コンソールで YAML ファイルの例を編集して、仮想マシンテンプレートを作成します。

手順

  1. Web コンソールのサイドメニューで、VirtualizationTemplates をクリックします。
  2. オプション: Project ドロップダウンメニューを使用して、新しいテンプレートに関連付けられたプロジェクトを変更します。すべてのテンプレートは、デフォルトで openshift プロジェクトに保存されます。
  3. Create Template をクリックします。
  4. YAML ファイルを編集して、テンプレートパラメーターを指定します。
  5. Create をクリックします。

    テンプレートが Templates ページに表示されます。

  6. オプション: Download をクリックして、YAML ファイルをダウンロードして保存します。

11.1.4. 仮想マシンテンプレートのブートソースの追加

ブートソースは、仮想マシンの作成に使用するすべての仮想マシンテンプレートまたはカスタムテンプレートに設定できます。仮想マシンテンプレートがブートソースを使用して設定されている場合、それらには Templates ページで Source available というラベルが付けられます。ブートソースをテンプレートに追加した後に、テンプレートから新規仮想マシンを作成できます。

Web コンソールでブートソースを選択および追加する方法は 4 つあります。

  • ローカルファイルのアップロード (PVC の作成)
  • URL (PVC を作成)
  • クローン (PVC を作成)
  • レジストリー (PVC を作成)

前提条件

  • ブートソースを追加するには、os-images.kubevirt.io:edit RBAC ロールを持つユーザー、または管理者としてログインしていること。ブートソースが追加されたテンプレートから仮想マシンを作成するには、特別な権限は必要ありません。
  • ローカルファイルをアップロードするには、オペレーティングシステムのイメージファイルがローカルマシンに存在している必要がある。
  • URL を使用してインポートするには、オペレーティングシステムイメージのある Web サーバーへのアクセスが必要である。例: イメージが含まれる Red Hat Enterprise Linux Web ページ。
  • 既存の PVC のクローンを作成するには、PVC を含むプロジェクトへのアクセスが必要である。
  • レジストリーを使用してインポートするには、コンテナーレジストリーへのアクセスが必要である。

手順

  1. OpenShift Container Platform コンソールで、サイドメニューから VirtualizationTemplates をクリックします。
  2. テンプレートの横にある Options メニューをクリックし、Edit boot source を選択します。
  3. ディスクの追加をクリックします。
  4. Add disk ウィンドウで、Use this disk as a boot source を選択します。
  5. ディスク名を入力し、Source を選択します。たとえば、Blank (creates PVC) または Use an existing PVC を選択します。
  6. Persistent Volume Claim size の値を入力し、圧縮解除されたイメージおよび必要な追加の領域に十分な PVC サイズを指定します。
  7. Type を選択します (Disk または CD-ROM など)。
  8. オプション: Storage class をクリックし、ディスクを作成するために使用されるストレージクラスを選択します。通常、このストレージクラスはすべての PVC で使用するために作成されるデフォルトのストレージクラスです。

    注記

    提供されたブート ソースは、オペレーティングシステムの最新バージョンに自動的に更新されます。自動更新されたブートソースの場合、クラスターのデフォルトのストレージクラスを使用して、永続ボリューム要求 (PVC) が作成されます。設定後に別のデフォルトのストレージクラスを選択した場合は、以前のデフォルトのストレージクラスで設定されたクラスター namespace 内の既存のデータボリュームを削除する必要があります。

  9. オプション: Apply optimized StorageProfile settings をオフにして、アクセスモードまたはボリュームモードを編集します。
  10. ブートソースを保存する適切な方法を選択します。

    1. ローカルファイルをアップロードしている場合に、Save and upload をクリックします。
    2. URL またはレジストリーからコンテンツをインポートしている場合は、Save and import をクリックします。
    3. 既存の PVC のクローンを作成している場合は、Save and clone をクリックします。

ブートソースを含むカスタム仮想マシンテンプレートが Catalog ページにリスト表示されています。このテンプレートを使用して仮想マシンを作成できます。

11.1.4.1. ブートソースを追加するための仮想マシンテンプレートフィールド

以下の表は、Add boot source to template ウインドウのフィールドについて説明しています。このウィンドウは、VirtualizationTemplates ページで仮想マシンテンプレートの Add source をクリックしたときに表示されます。

NameパラメーターDescription

ブートソースタイプ

ローカルファイルのアップロード (PVC の作成)

ローカルデバイスからファイルをアップロードします。サポートされるファイルタイプには、gz、xz、tar、および qcow2 が含まれます。

URL (PVC を作成)

HTTP または HTTPS エンドポイントで利用できるイメージからコンテンツをインポートします。イメージのダウンロードが可能な Web ページからダウンロードリンクの URL を取得し、その URL リンクを Import URL フィールドに入力します。例: Red Hat Enterprise Linux イメージについては、Red Hat カスタマーポータルにログインしてイメージのダウンロードページにアクセスし、KVM ゲストイメージのダウンロードリンク URL をコピーします。

PVC (PVC を作成)

クラスターですでに利用可能な PVC を使用し、このクローンを作成します。

レジストリー (PVC を作成)

クラスターからアクセスでき、レジストリーにある起動可能なオペレーティングシステムコンテナーを指定します。例: kubevirt/cirros-registry-dis-demo

ソースプロバイダー

 

オプションフィールド。テンプレートのソース、またはテンプレートを作成したユーザーの名前についての説明テキストを追加します。例: Red Hat

ストレージの詳細設定

StorageClass

ディスクの作成に使用されるストレージクラス。

アクセスモード

永続ボリュームのアクセスモード。サポートされるアクセスモードは、Single User(RWO)Shared Access(RWX)Read Only (ROX) です。Single User (RWO) が選択される場合、ディスクは単一ノードによって読み取り/書き込み ( read/write) としてマウントできます。Shared Access (RWX) が選択される場合、ディスクは多数のノードによって読み取り/書き込み (read-write) としてマウントできます。kubevirt-storage-class-defaults 設定マップはデータボリュームのアクセスモードを提供します。デフォルト値は、クラスターの各ストレージクラスについての最適なオプションに従って設定されます。

注記

Shared Access (RWX) は、ノード間の仮想マシンのライブマイグレーションなどの、一部の機能で必要になります。

ボリュームモード

永続ボリュームがフォーマットされたファイルシステムまたは raw ブロック状態を使用するかどうかを定義します。サポートされるモードは Block および Filesystem です。kubevirt-storage-class-defaults 設定マップはデータボリュームのボリュームモードのデフォルト設定を提供します。デフォルト値は、クラスターの各ストレージクラスについての最適なオプションに従って設定されます。

11.1.5. 関連情報