7.4. インスタンスタイプまたは設定の指定
インスタンスタイプまたは優先度、またはその両方を指定して、複数の仮想マシンで再利用するためのワークロードサイジングとランタイム特性を定義できます。
7.4.1. フラグを使用したインスタンスタイプと設定の指定
フラグを使用して、インスタンスタイプおよび設定を指定します。
前提条件
- クラスターにインスタンスタイプ、プリファレンス、またはその両方がある。
手順
仮想マシンを作成するときにインスタンスタイプを指定するには、
--instancetype
フラグを使用します。設定を指定するには、--preference
フラグを使用します。次の例には両方のフラグが含まれています。$ virtctl create vm --instancetype <my_instancetype> --preference <my_preference>
オプション: namespace インスタンスタイプまたは設定を指定するには、
--instancetype
または--preference
フラグコマンドに渡される値にkind
を含めます。namespace インスタンスタイプまたは設定は、仮想マシンを作成するのと同じ namespace に存在する必要があります。次の例には、namespace インスタンスタイプと namespace 設定のフラグが含まれています。$ virtctl create vm --instancetype virtualmachineinstancetype/<my_instancetype> --preference virtualmachinepreference/<my_preference>
7.4.2. インスタンスタイプまたは設定の推測
インスタンスタイプの推論、設定、またはその両方がデフォルトで有効になっており、inferFromVolume
属性の inferFromVolumeFailure
ポリシーは Ignore
に設定されています。ブートボリュームから推測する場合、エラーは無視され、インスタンスタイプと設定が未設定のままで仮想マシンが作成されます。
ただし、フラグが適用されると、inferFromVolumeFailure
ポリシーはデフォルトで Reject
に設定されます。ブートボリュームから推測する場合、エラーが発生すると、その仮想マシンの作成が拒否されます。
--infer-instancetype
フラグと --infer-preference
フラグを使用すると、仮想マシンのワークロードのサイズ設定と実行時特性を定義するために使用するインスタンスタイプ、設定、またはその両方を推測できます。
前提条件
-
virtctl
ツールがインストールされている。
手順
仮想マシンの起動に使用されるボリュームからインスタンスタイプを明示的に推測するには、
--infer-instancetype
フラグを使用します。設定を明示的に推測するには、--infer-preference
フラグを使用します。次のコマンドには両方のフラグが含まれます。$ virtctl create vm --volume-import type:pvc,src:my-ns/my-pvc --infer-instancetype --infer-preference
7.4.3. inferFromVolume ラベルの設定
PVC、データソース、またはデータボリュームで次のラベルを使用して、ボリュームから起動するときに使用するインスタンスタイプ、設定、またはその両方を推論メカニズムに指示します。
-
クラスター全体のインスタンスのタイプ:
instancetype.kubevirt.io/default-instancetype
ラベル。 -
namesapce インスタンスタイプ:
instancetype.kubevirt.io/default-instancetype-kind
ラベル。空のままにすると、デフォルトでVirtualMachineClusterInstancetype
ラベルになります。 -
クラスター全体の設定:
instancetype.kubevirt.io/default-preference
ラベル。 -
namespace の設定:
instancetype.kubevirt.io/default-preference-kind
ラベル。空のままにすると、デフォルトでVirtualMachineClusterPreference
ラベルになります。
前提条件
- クラスターにインスタンスタイプ、プリファレンス、またはその両方がある。
手順
データソースにラベルを適用するには、
oc label
を使用します。次のコマンドは、クラスター全体のインスタンスタイプを指すラベルを適用します。$ oc label DataSource foo instancetype.kubevirt.io/default-instancetype=<my_instancetype>