第7章 仮想マシンの作成
7.1. Web コンソールを使用した仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用すると、仮想マシン (VM) を作成できます。Web コンソールの作成ウィザードは、カスタム仮想マシンの設定、テンプレートからの仮想マシンの作成、既存の仮想マシンのクローン作成のためのワークフローを提供します。
7.1.1. 仮想マシンの作成方法 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの作成ウィザードには、仮想マシン (VM) を作成するための 3 つのワークフローが用意されています。状況に合ったワークフローを選択してください。
| 状況 | このワークフローを使用する | 要件 |
|---|---|---|
| 既存のテンプレートが要件に合わない場合に、コンピュート、ストレージ、ネットワーク設定の特定の組み合わせで仮想マシンをビルドしたい。 | Custom configuration | ブートソース (カスタムディスクイメージ、コンテナーイメージ、URL など) |
| 事前設定済みのイメージと設定から、標準化された仮想マシンを迅速にデプロイします。 | Create from Template | クラスター内に利用可能なブートソースを持つテンプレート |
| 既存の仮想マシンとその設定を複製する仮想マシンを 1 つ以上作成します。 | Clone existing VirtualMachine | クローンを作成するソース仮想マシンへのアクセス |
いずれの方法においても、作成ウィザードのリファレンスには、ブートソース、インスタンスタイプ、およびカスタマイズオプションが仮想マシンにどのように影響するかが説明されています。
関連情報
7.1.2. Web コンソールを使用したカスタム設定の仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールで カスタム設定 ワークフローを使用すると、ゲストオペレーティングシステム、ブートソース、コンピュートリソース、および詳細設定を選択して、仮想マシン (VM) を作成できます。
以下の場合に、このワークフローを使用します。
- 要件に合う既存のテンプレートがない場合。
- コンピュート、ストレージ、ネットワークの特定の設定の組み合わせが必要な場合。
- カスタムディスクイメージから起動したい場合。
前提条件
- OpenShift Container Platform Web コンソールにアクセスできる。
-
対象プロジェクトにおいて、
editまたはadmin権限を持っている。
手順
-
OpenShift Container Platform Web コンソールで、Virtualization
VirtualMachines に移動します。 - Create をクリックします。
Deployment details ページで、以下の設定を行います。
- Custom configuration を選択します。
- Name フィールドに、仮想マシンの名前を入力します。更新アイコンをクリックすると、名前が自動的に生成されます。
- オプション: 仮想マシンの Description を入力します。
- Location を確認して、対象となるクラスターとプロジェクトを検証します。グループプレビュー機能が有効になっている場合は、グループを確認することもできます。場所を変更するには、編集アイコンをクリックします。
- Next をクリックします。
Guest operating system ページで、オペレーティングシステムを指定します。
- RHEL、Microsoft Windows、または Other Linux など、ゲストオペレーティングシステムを選択します。
- Guest operating system type リストから、オペレーティングシステムのバージョンを選択します。
- Next をクリックします。
Boot source ページで、ブートボリュームを指定します。
- 既存のブートボリュームを使用するか、新しいブートボリュームを追加するには、Boot volume を選択します。あるいは、後で設定できる空のディスクを割り当てるには、No boot source を選択します。
- Boot volume を選択した場合は、リストから既存のボリュームを選択するか、Add volume をクリックして新しいブートボリュームを設定します。
- Next をクリックします。
Compute resources ページで、インスタンスタイプを定義します。
- General purpose や Compute Exclusive などのインスタンスタイプシリーズを選択します。
- ドロップダウンリストから仮想 CPU とメモリーサイズを選択します。
- Next をクリックします。
オプション: Customization ページで、以下のタブを順に移動して詳細設定を行います。
- Details: ホスト名、ヘッドレスモード、ゲストシステムログへのアクセス、および 削除保護 を設定します。
- Storage: ストレージディスクを追加または変更します。
- Network: ネットワークインターフェイスを追加します。
- Scheduling: スケジューリング要件と実行ストラテジーを設定します。
- SSH:SSH キーの設定を行います。
- Initial run: Cloud-init または Sysprep の初期化スクリプトを定義します。
Labels and annotations: ラベルを追加して仮想マシンを整理分類し、アノテーションを使用して追加のメタデータを保存します。
- Next をクリックします。
Review and create ページで、仮想マシン設定を確認します。
- オプション: Start this VirtualMachine after creation のチェックボックスを選択します。
- Create VirtualMachine をクリックします。
検証
-
Virtualization
VirtualMachines に移動し、仮想マシンがリストに表示されていることを確認します。
7.1.3. Web コンソールを使用したテンプレートからの仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Create from Template ワークフローを使用すると、標準化されたイメージと設定を提供する事前設定済みのテンプレートを選択して、仮想マシン (VM) を作成できます。
以下の場合に、このワークフローを使用します。
- ワークロードの要件とオペレーティングシステムに適合するテンプレートがある場合。
- 標準的な設定で事前設定済みの仮想マシンを使用したい場合。
- 最小限のカスタマイズで仮想マシンを迅速にデプロイしたい場合。
前提条件
- OpenShift Container Platform Web コンソールにアクセスできる。
-
対象プロジェクトにおいて、
editまたはadmin権限を持っている。 - クラスター内に利用可能なブートソースを持つテンプレートがある。
手順
-
OpenShift Container Platform Web コンソールで、Virtualization
VirtualMachines に移動します。 - Create をクリックします。
Deployment details ページで、以下の設定を行います。
- Create from Template を選択します。
- Name フィールドに、仮想マシンの名前を入力します。更新アイコンをクリックすると、名前が自動的に生成されます。
- オプション: 仮想マシンの Description を入力します。
- Location を確認して、対象となるクラスターとプロジェクトを検証します。グループプレビュー機能が有効になっている場合は、グループを確認することもできます。場所を変更するには、編集アイコンをクリックします。
- Next をクリックします。
Template ページで、テンプレートを選択します。
- オプション: テンプレートリストをフィルタリングします。All projects メニューからプロジェクトを選択したり、Category フィルターを適用してアプリケーションのタイプでテンプレートを絞り込んだり、オペレーティングシステムなどの他のフィルターを適用したり、Filter by keyword フィールドにキーワードを入力したりすることができます。
- テンプレートタイルをクリックすると、そのテンプレートが選択され、詳細が表示されます。
- Next をクリックします。
オプション: Customization ページで、以下のタブを順に移動して詳細設定を行います。
- Details: ホスト名、ヘッドレスモード、ゲストシステムログへのアクセス、および 削除保護 を設定します。
- Storage: ストレージディスクを追加または変更します。
- Network: ネットワークインターフェイスを追加します。
- Scheduling: スケジューリング要件と実行ストラテジーを設定します。
- SSH:SSH キーの設定を行います。
- Initial run: Cloud-init または Sysprep の初期化スクリプトを定義します。
Labels and annotations: ラベルを追加して仮想マシンを整理分類し、アノテーションを使用して追加のメタデータを保存します。
- Next をクリックします。
Review and create ページで、仮想マシン設定を確認します。
- オプション: Start this VirtualMachine after creation のチェックボックスを選択します。
- Create VirtualMachine をクリックします。
検証
-
Virtualization
VirtualMachines に移動し、仮想マシンがリストに表示されていることを確認します。
7.1.4. Web コンソールを使用した既存の仮想マシンのクローン リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Clone existing VirtualMachine ワークフローを使用すると、既存の仮想マシンとその設定をクローンして新しい仮想マシン (VM) を作成できます。
以下の場合に、このワークフローを使用します。
- 同じ設定を持つ既存の仮想マシンを複製したい場合。
- 一貫したセットアップの仮想マシンが複数必要な場合。
前提条件
- OpenShift Container Platform Web コンソールにアクセスできる。
-
対象プロジェクトにおいて、
editまたはadmin権限を持っている。 - クローンを作成するソース仮想マシンが、アクセス可能なプロジェクト内に存在する。
手順
-
OpenShift Container Platform Web コンソールで、Virtualization
VirtualMachines に移動します。 - Create をクリックします。
Deployment details ページで、以下の設定を行います。
- Clone existing VirtualMachine を選択します。
- Location の下にある Project と Group を確認します。対象のプロジェクトまたはグループを変更するには、編集アイコンをクリックします。
- Next をクリックします。
Source ページで、クローンする仮想マシンを選択します。
利用可能な仮想マシンのリストを参照するか、検索およびフィルタリングオプションを使用して、特定の仮想マシンを検索します。
Status、Operating system、Storage class、Hardware devices、Scheduling、Node、Guest agent、および Architecture type でフィルタリングできます。
- クローンを作成したい仮想マシンを選択します。
- Next をクリックします。
Review and create ページで、仮想マシン設定を確認します。
- オプション: Name フィールドに、仮想マシンの名前を入力します。更新アイコンをクリックすると、名前が自動的に生成されます。
- オプション: 仮想マシンの Description を入力します。
- Location を確認して、対象となるクラスターとプロジェクトを検証します。グループプレビュー機能が有効になっている場合は、グループを確認することもできます。場所を変更するには、編集アイコンをクリックします。
- オプション: デフォルトでは、Start this VirtualMachine after creation のチェックボックスが選択されています。クローンした仮想マシンをすぐに起動させたくない場合は、このチェックボックスをオフにします。
- Clone VirtualMachine をクリックします。
検証
-
Virtualization
VirtualMachines に移動し、仮想マシンがリストに表示されていることを確認します。
7.1.5. 仮想マシン作成ウィザードの参照 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの仮想マシン (VM) 作成ウィザードには、仮想マシンの実行方法に影響を与えるいくつかのオプションが表示されます。以下の表は、最も大きな影響を与えるオプションについて説明しています。
7.1.5.1. ブートソースオプション リンクのコピーリンクがクリップボードにコピーされました!
Boot source ページでは、既存のブートボリュームを選択するか、Add volume をクリックして新しいブートボリュームを作成できます。ボリュームを追加する際、Source type リストによってブートディスクイメージの取得元が決まります。
| ソースタイプ | 説明 | 使用すべき状況 |
|---|---|---|
| ボリューム (新規アップロード) | ローカルマシンから、永続ボリューム要求 (PVC) イメージまたは ISO ファイルをアップロードします。 | ワークステーションにディスクイメージまたは ISO イメージが保存されている場合。インストールメディアとして This is an ISO file を選択します。 |
| ボリューム (既存のものを使用) | クラスター上ですでに利用可能なボリュームを再利用します。 | クラスター内ですでにブートボリュームが準備されている場合。 |
| ボリュームスナップショット | 既存のボリュームスナップショットからブートディスクを作成します。 | 特定時点のイメージから迅速なプロビジョニングを行いたい場合。 |
| レジストリー | コンテナーレジストリーからコンテナーディスクをインポートします。 | イメージが Quay などのレジストリーに公開される場合。コンテナーイメージの URL と、プライベートレジストリーの場合は認証情報が必要です。 |
| URL | HTTP または HTTPS エンドポイントからイメージをインポートします。 | イメージが Web アドレスでホストされている場合。証明書が必要なエンドポイントには、TLS certificate required を選択します。 |
ボリュームを追加する際、以下の設定はディスクの保存方法と識別方法に影響します。
- Preference
- 特定のワークロードを実行するために必要な、推奨される仮想マシン属性値 (ゲストオペレーティングシステムなど)。この設定は、ウィザード内の他の項目におけるデフォルト値に影響します。
- Default InstanceType
- ブートボリュームに関連付けられたデフォルトのインスタンスタイプ。
- StorageClass
- ボリュームのプロビジョニングに使用されるストレージクラス。特に指定がない限り、デフォルトのストレージクラスが使用されます。
- Volume Mode
- ボリュームが raw ブロックデバイス (Block) として表示されるか、フォーマット済みのファイルシステム (Filesystem) として表示されるかを決定します。
- Access Mode
- ボリュームをマウントできるノードの数を制御します: 共有アクセス (RWX)、シングルユーザー (RWO)、または読み取り専用 (ROX)。ライブマイグレーションには共有アクセス (RWX) が必要です。
7.1.5.2. インスタンスタイプシリーズ リンクのコピーリンクがクリップボードにコピーされました!
Compute resources ページで、インスタンスタイプシリーズを選択し、次にサイズを選択します。このシリーズは、仮想マシンの CPU とメモリーの特性を決定します。一部のシリーズでは、特別に設定されたノードが必要です。
| シリーズ | 名前 | 特徴 | ノードの要件 |
|---|---|---|---|
| U | 一般的用途 | 中立的で汎用的なリソース。仮想マシンは、タイムスライス方式に基づいて他の仮想マシンと物理 CPU コアを共有します。 | なし |
| O | オーバーコミットメント | U シリーズをベースとしていますが、メモリーがオーバーコミットされています。 | なし |
| CX | コンピュート専用 | コンピュート負荷の高いワークロード向けの専用コンピュートリソース。専用 CPU、隔離されたエミュレータースレッド、および仮想 Non-Uniform Memory Access (NUMA) トポロジーを備えています。 | ノード上で CPU マネージャーが有効になっており、huge page が利用可能です。 |
| M | メモリー集約型 | バースト可能な CPU パフォーマンスを備えた、メモリー負荷の高いワークロードワークロード向けのリソース。 | なし |
| D | 専用仮想 CPU | 一貫性があり、予測可能なパフォーマンス。仮想マシンには専用の物理 CPU コアが割り当てられるため、CPU の共有やタイムスライスの競合を回避できます。 | なし |
| N | ネットワーク | Virtual Network Function (VNF) など、ネットワーク負荷の高い Data Plane Development Kit (DPDK) ワークロード向けのリソース。 |
DPDK ワークロードを実行可能で、 |
| RT | Realtime |
| リアルタイムワークロードを実行可能なノード。 |
インスタンスタイプは series.size の形式で命名され、サイズは nano から 8xlarge までの範囲です。たとえば、u1.medium は、1 つの仮想 CPU と 4GiB のメモリーを提供します。Red Hat 提供 のインスタンスタイプ、または管理者が定義した ユーザー提供 のインスタンスタイプを選択できます。
7.1.5.3. カスタマイズ設定 リンクのコピーリンクがクリップボードにコピーされました!
オプションの カスタマイズ ステップでは、高度な設定をタブごとにグループ化します。以下の設定は、仮想マシンの動作に最も一般的に影響を与える設定です。
| 設定 | タブ | 説明 |
|---|---|---|
| ディスクインターフェイス | ストレージ | ディスクのパフォーマンスと互換性を決定します。VirtIO は最高のパフォーマンスを提供しますが、Windows では追加のドライバーが必要です。SATA のパフォーマンスは劣るものの、Windows を含むほとんどのオペレーティングシステムでサポートされています。SCSI は、多数のデバイスをサポートします。 |
| エフェメラルディスク | ストレージ | 仮想マシンの再起動時に変更内容が失われるコンテナーイメージからディスクを追加します。 |
| このディスクをブートソースとして使用する | ストレージ | ディスクを起動可能としてマークします。一度に起動可能なディスクは 1 枚のみです。 |
| Headless mode | 詳細 | デフォルトのグラフィックデバイスを削除します。このオプションが有効化されている場合、VNC コンソールへのアクセスは利用できません。 |
| 削除保護 | 詳細 | Web コンソール経由での仮想マシンの削除を防止します。 |
| ブートモード | 詳細 | 仮想マシンの起動に使用するファームウェアインターフェイス (BIOS や UEFI など) を設定します。 |
| 実行ストラテジー | Scheduling | 障害発生時、シャットダウン時、または再起動時における仮想マシンの動作 (Rerun on failure など) を制御します。 |
| エビクションストラテジー | Scheduling | ノードが drain (Pod の退避) された際の仮想マシンの動作を決定します。LiveMigrate は、仮想マシンを停止するのではなく、別のノードに移動します。 |
| ネットワークバインディング | ネットワーク | ネットワークインターフェイスの接続方法を設定します。Pod ネットワークのデフォルトは Masquerade です。Bridge は L2 ネットワークに接続します。SR-IOV は高性能を実現するために Virtual Function をアタッチします。 |
| 初期化方法 | Initial run | Linux ゲストの場合は cloud-init、Windows ゲストの場合は Sysprep を使用して、初回起動時の設定を行います。 |
| 動的 SSH 鍵の注入 | SSH |
仮想マシンを再起動せずに適用される公開 SSH 鍵を注入します。有効になっていない場合、鍵は |
| ラベルとアノテーション | Metadata | Labels は、仮想マシンの整理や選択用にクエリーを実行できるキーと値のペアです。Annotations には、クエリーできない任意のメタデータが格納されます。 |
7.1.6. プロジェクトレベルのデフォルトネットワークを設定する リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、OpenShift Container Platform プロジェクトの namespace アノテーション、kubevirt.io/allow-pod-network および kubevirt.io/default-network を使用して、仮想マシン (VM) の作成とネットワークインターフェイスの選択に関するプロジェクトレベルのネットワークデフォルトを設定できます。
前提条件
cluster-admin 特権を持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。
手順
- Projects に移動します。
- 設定したいプロジェクトを選択し、YAML タブを開きます。
アノテーションを以下のように編集します。
新しい仮想マシンを作成する際、または既存の仮想マシンに新しいネットワークインターフェイスを追加する際に、Pod ネットワークを無効にするには、
kubevirt.io/allow-pod-networkアノテーションをfalseに設定します。デフォルトでは、
kubevirt.io/allow-pod-networkが存在しないか設定されていない場合でも、Pod ネットワークは許可されます。新しい仮想マシンを作成する際に、ネットワークアタッチメント定義 (NAD) をデフォルトとして選択するには、
kubevirt.io/allow-pod-networkアノテーションをfalseに設定し、kubevirt.io/default-networkアノテーションを NAD 名に設定します。特定の NAD を選択しても、新しい仮想マシンの作成にのみ影響し、既存の仮想マシンへの新しいネットワークインターフェイスの追加には影響しないことに注意してください。Pod ネットワークではなく仮想マシンに新しいネットワークインターフェイスを追加すると、システムはプロジェクトの NAD のリストから利用可能な最初の NAD を自動的に選択します。
以下のマトリックスは、さまざまな設定の組み合わせによる結果を示しています。
Pod ネットワーク デフォルトの NAD アノテーション 仮想マシン作成のデフォルト 新しいネットワークインターフェイスの追加 (自動選択) 許可 (デフォルト)
設定しない場合
Pod ネットワーク
Pod ネットワーク
不許可 (
allow-pod-network:false)設定しない場合
プロジェクトで最初に利用可能な NAD
プロジェクトで最初に利用可能な NAD
許可 (デフォルト)
NAD 名に設定
設定済み NAD
Pod ネットワーク
不許可 (
allow-pod-network:false)NAD 名に設定
設定済み NAD
プロジェクトで最初に利用可能な NAD