第6章 仮想マシン
6.1. 仮想マシンの作成
以下のいずれかの手順を使用して、仮想マシンを作成します。
- 仮想マシンウィザードの実行
- 仮想マシンウィザードによる事前に設定された YAML ファイルの貼り付け
- CLI の使用
- 仮想マシンウィザードによる VMware 仮想マシンまたはテンプレートのインポート
openshift-*
namespace に仮想マシンを作成しないでください。代わりに、openshift
プレフィックスなしの新規 namespace を作成するか、または既存 namespace を使用します。
6.1.1. 仮想マシンウィザードの実行による仮想マシンの作成
Web コンソールは、General、 Networking、Storage、Advanced、および Review ステップに移動し、仮想マシンの作成プロセスを単純化するインタラクティブなウィザードを特長としています。すべての必須フィールドには *
のマークが付けられます。必要なフィールドが完了したら、仮想マシンを確認し、これを作成することができます。
Network Interface Card (NIC) およびストレージディスクを作成し、それらの作成後に仮想マシンに割り当てることができます。
ブート可能なディスク
URL
または Container
のいずれかが General ステップで Source として選択される場合、rootdisk
ディスクが作成され、Bootable Disk として仮想マシンに割り当てられます。rootdisk
を変更できますが、これを削除することはできません。
Bootable Disk は、仮想マシンにディスクが割り当てられていない場合、PXE ソースからプロビジョニングされる仮想マシンには不要です。1 つ以上のディスクが仮想マシンに割り当てられている場合、Bootable Disk を 1 つを選択する必要があります。
前提条件
- ウィザードを使用して仮想マシンを作成する場合、仮想マシンのストレージメディアは Read-Write-Many(RWM)PVC をサポートする必要があります。
手順
-
サイドメニューから Workloads
Virtual Machines をクリックします。 - Create Virtual Machine をクリックし、New with Wizard を選択します。
- General ステップで必要なすべてのフィールドに入力します。Template を選択すると、これらのフィールドへの入力が自動的に行われます。
Next をクリックして Networking ステップに進みます。デフォルトで
nic0
NIC が割り当てられます。- (オプション) Add Network Interface をクリックして追加の NIC を作成します。
- (オプション) すべての NIC の削除は、Options メニュー をクリックし、Delete を選択して実行できます。仮想マシンの作成において、NIC が割り当てられている必要はありません。NIC は仮想マシンの作成後に作成することができます。
Next をクリックして Storage 画面に進みます。
- (オプション) Add Disk をクリックして追加のディスクを作成します。これらのディスクの削除は、Options メニュー をクリックし、Delete を選択して実行できます。
- (オプション) Options メニュー をクリックし、ディスクを編集して変更内容を保存します。
- Review and Create をクリックします。Results 画面には、仮想マシンの JSON 設定ファイルが表示されます。
仮想マシンは Workloads
Web コンソールウィザードを実行する際は、仮想マシンウィザードのフィールドを参照します。
6.1.1.1. 仮想マシンウィザードのフィールド
Name | パラメーター | 説明 |
---|---|---|
Template | 仮想マシンの作成に使用するテンプレート。テンプレートを選択すると、他のフィールドが自動的に入力されます。 | |
Source | PXE | PXE メニューから仮想マシンをプロビジョニングします。クラスターに PXE 対応の NIC が必要になります。 |
URL | HTTP または S3 エンドポイントで利用できるイメージから仮想マシンをプロビジョニングします。 | |
Container |
クラスターからアクセスできるレジストリーの起動可能なオペレーティングシステムコンテナーから仮想マシンをプロビジョニングします。例: | |
Disk | ディスクから仮想マシンをプロビジョニングします。 | |
Attach disk | 以前にクローン作成されたか、または作成され、 PersistentVolumeClaims で利用可能にされた既存ディスクを割り当てます。このオプションが選択される場合、Operating System、Flavor、および Workload Profile フィールドに手動で入力する必要があります。 | |
Operating System | 仮想マシン用に選択される主なオペレーティングシステム。 | |
Flavor | small、medium、large、tiny、Custom | 仮想マシンに割り当てられる CPU およびメモリーの量を決定するプリセット。Flavor に設定される Preset はオペレーティングシステムによって決まります。 |
Workload Profile | High Performance | 高パフォーマンスのワークロードに対して最適化された仮想マシン設定。 |
Server | サーバーワークロードの実行に最適化されたプロファイル。 | |
Desktop | デスクトップで使用するための仮想マシン設定。 | |
Name |
この名前には、小文字 ( | |
Description | オプションの説明フィールド。 | |
Start virtual machine on creation | これを選択すると、作成時に仮想マシンが自動的に起動します。 |
6.1.1.2. Cloud-init フィールド
Name | Description |
---|---|
Hostname | 仮想マシンの特定のホスト名を設定します。 |
Authenticated SSH Keys | 仮想マシンの ~/.ssh/authorized_keys にコピーされるユーザーの公開鍵。 |
Use custom script | 他のオプションを、カスタム cloud-init スクリプトを貼り付けるフィールドに置き換えます。 |
6.1.1.3. ネットワークフィールド
Name | Description |
---|---|
Name | ネットワークインターフェースの名前。 |
Model | ネットワークインターフェースカードのドライバー、またはネットワークインターフェースカードのモデル |
Network | 利用可能な NetworkAttachmentDefinition オブジェクトの一覧。 |
Type |
利用可能なバインディングメソッドの一覧。デフォルトの Pod ネットワークについては、 |
MAC Address | ネットワークインターフェースの MAC アドレス。MAC アドレスが指定されていない場合、セッションの一時アドレスが生成されます。 |
6.1.1.4. ストレージフィールド
Name | Description |
---|---|
Source | 仮想マシンの空のディスクを選択するか、または PXE、Container、URL または Diskなどのオプションから選択します。既存のディスクを選択し、これを仮想マシンに割り当てるには、利用可能な PersistentVolumeClaim (PVC) の一覧から Attach Disk を選択するか、またはクローン作成されたディスクからこれを選択します。 |
名前 |
ディスクの名前。この名前には、小文字 ( |
Size (GiB) | ディスクのサイズ (GiB)。 |
Interface | インターフェースの名前。 |
Storage class |
基礎となる |
6.1.2. 仮想マシンウィザードの作成用の事前設定 YAML ファイルの貼り付け
Web コンソールの Workloads example
仮想マシン設定がデフォルトで提供されます。
Create をクリックする際に YAML 設定が無効な場合、エラーメッセージでエラーが発生したパラメーターが示唆されます。エラーは一度に 1 つのみ表示されます。
編集中に YAML 画面から離れると、設定に対して加えた変更が取り消されます。
手順
-
サイドメニューから Workloads
Virtual Machines をクリックします。 - Create Virtual Machine をクリックし、New from YAML を選択します。
編集可能なウィンドウで仮想マシンの設定を作成するか、またはこれを貼り付けます。
-
または、YAML 画面にデフォルトで提供される
example
仮想マシンを使用します。
-
または、YAML 画面にデフォルトで提供される
- (オプション) Download をクリックして YAML 設定ファイルをその現在の状態でダウンロードします。
- Create をクリックして仮想マシンを作成します。
仮想マシンは Workloads
6.1.3. CLI の使用による仮想マシンの作成
手順
VirtualMachine 設定ファイルの spec
オブジェクトは、コア数やメモリーの量、ディスクタイプおよび使用するボリュームなどの仮想マシン設定を参照します。
-
関連する PVC
claimName
をボリュームとして参照し、仮想マシンディスクを仮想マシンに割り当てます。 OpenShift Container Platform クライアントで仮想マシンを作成するには、以下のコマンドを実行します。
$ oc create -f <vm.yaml>
- 仮想マシンは Stopped 状態で作成されるため、これを起動して仮想マシンインスタンスを実行します。
ReplicaSetは、一定数の同一 Pod の可用性を保証することを目的としています。現時点で、ReplicaSet は Container-native Virtualization でサポートされていません。
設定 | 説明 |
---|---|
Cores | 仮想マシン内のコア数。1 以上の値である必要があります。 |
Memory | ノードによって仮想マシンに割り当てられる RAM の量。M (メガバイト) または Gi (ギガバイト) で値を指定します。 |
Disks: name | 参照されるボリュームの名前。ボリュームの名前に一致する必要があります。 |
設定 | 説明 |
---|---|
名前 | ボリュームの名前。 DNS ラベルであり、仮想マシン内で一意である必要があります。 |
PersistentVolumeClaim |
仮想マシンに割り当てる PVC。PVC の |
6.1.4. 仮想マシンのストレージボリュームタイプ
仮想マシンのストレージボリュームタイプがドメインおよびボリューム設定と共に一覧表示されます。仮想マシン設定の具体的な一覧については、「 kubevirt API Reference 」を参照してください。
ephemeral | ネットワークボリュームを読み取り専用のバッキングストアとして使用するローカルの copy-on-write (COW) イメージ。バッキングボリュームは PersistentVolumeClaim である必要があります。一時イメージは仮想マシンの起動時に作成され、すべての書き込みをローカルに保存します。一時イメージは、仮想マシンの停止、再起動または削除時に破棄されます。バッキングボリューム (PVC) はいずれの方法でも変更されません。 |
persistentVolumeClaim | 利用可能な PV を仮想マシンに割り当てます。PV の割り当てにより、仮想マシンデータのセッション間での永続化が可能になります。 CDI を使用して既存の仮想マシンディスクを PVC にインポートし、PVC を仮想マシンインスタンスに割り当てる方法は、既存の仮想マシンを OpenShift Container Platform にインポートするための推奨される方法です。ディスクを PVC 内で使用できるようにするためのいくつかの要件があります。 |
dataVolume | DataVolume は、インポート、クローンまたはアップロード操作で仮想マシンディスクの準備プロセスを管理することによって persistentVolumeClaim ディスクタイプにビルドされます。このボリュームタイプを使用する仮想マシンは、ボリュームが準備できるまで起動しないことが保証されます。 |
cloudInitNoCloud | 参照される cloud-init NoCloud データソースが含まれるディスクを割り当て、ユーザーデータおよびメタデータを仮想マシンに提供します。cloud-init インストールは仮想マシンディスク内で必要になります。 |
containerDisk | コンテナーイメージレジストリーに保存される、仮想マシンディスクなどのイメージを参照します。イメージはレジストリーからプルされ、仮想マシンの作成時にボリュームに組み込まれます。containerDisk ボリュームは一時的なボリュームです。これは、仮想マシンが停止されるか、再起動するか、または削除される際に破棄されます。 コンテナーディスクは単一の仮想マシンに制限されず、永続ストレージを必要としない多数の仮想マシンのクローンを作成するのに役立ちます。 RAW および QCOW2 形式のみがコンテナーイメージレジストリーのサポートされるディスクタイプです。QCOW2 は、縮小されたイメージサイズの場合に推奨されます。 |
emptyDisk | 仮想マシンインターフェースのライフサイクルに関連付けられるスパースの QCOW2 ディスクを追加で作成します。データは仮想マシンのゲストによって実行される再起動後も存続しますが、仮想マシンが Web コンソールから停止または再起動する場合には破棄されます。空のディスクは、アプリケーションの依存関係および一時ディスクの一時ファイルシステムの制限を上回るデータを保存するために使用されます。 ディスク 容量 サイズも指定する必要があります。 |
仮想マシン設定の具体的な一覧については、「 kubevirt API Reference 」を参照してください。