7.4. 指定实例类型或首选项
您可以指定实例类型、首选项或两者来定义一组工作负载大小和运行时特征,以便在多个虚拟机间重复使用。
7.4.1. 使用标志来指定实例类型和首选项
使用标志指定实例类型和首选项。
先决条件
- 集群中必须具有实例类型、首选或两者。
流程
要在创建虚拟机时指定实例类型,请使用
--instancetype
标志。要指定首选项,请使用--preference
标志。以下示例包括这两个标记:$ virtctl create vm --instancetype <my_instancetype> --preference <my_preference>
可选: 要指定命名空间的实例类型或首选项,请在传递给
--instancetype
或--preference
的标志命令的值中包含kind
。命名空间实例类型或首选项必须位于您要在其中创建虚拟机的同一命名空间中。以下示例包括命名空间实例类型和命名空间首选项的标记:$ 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
标签。 -
namespaced 实例类型:
instancetype.kubevirt.io/default-instancetype-kind
标签。如果留空,则默认为VirtualMachineClusterInstancetype
标签。 -
集群范围的首选项:
instancetype.kubevirt.io/default-preference
标签。 -
namespaced preference:
instancetype.kubevirt.io/default-preference-kind
标签。如果留空,则默认为VirtualMachineClusterPreference
标签。
先决条件
- 集群中必须具有实例类型、首选或两者。
流程
要将标签应用到数据源,请使用
oc label
。以下命令应用指向集群范围实例类型的标签:$ oc label DataSource foo instancetype.kubevirt.io/default-instancetype=<my_instancetype>