×

您可以指定实例类型、首选项或两者来定义一组工作负载大小和运行时特性,以便在多个虚拟机中重复使用。

使用标志指定实例类型和首选项

使用标志指定实例类型和首选项。

先决条件
  • 集群中必须具有实例类型、首选项或两者。

步骤
  1. 要创建虚拟机时指定实例类型,请使用--instancetype标志。要指定首选项,请使用--preference标志。以下示例包含这两个标志

    $ virtctl create vm --instancetype <my_instancetype> --preference <my_preference>
  2. 可选:要指定命名空间实例类型或首选项,请在传递给--instancetype--preference标志命令的值中包含kind。命名空间实例类型或首选项必须与您创建虚拟机的命名空间相同。以下示例包含命名空间实例类型和命名空间首选项的标志

    $ virtctl create vm --instancetype virtualmachineinstancetype/<my_instancetype> --preference virtualmachinepreference/<my_preference>

推断实例类型或首选项

默认情况下启用推断实例类型、首选项或两者,并且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

设置 inferFromVolume 标签

在您的 PVC、数据源或数据卷上使用以下标签来指示推断机制在尝试从卷引导时要使用哪个实例类型、首选项或两者。

  • 集群范围的实例类型:instancetype.kubevirt.io/default-instancetype标签。

  • 命名空间实例类型:instancetype.kubevirt.io/default-instancetype-kind标签。如果留空,则默认为VirtualMachineClusterInstancetype标签。

  • 集群范围的首选项:instancetype.kubevirt.io/default-preference标签。

  • 命名空间首选项:instancetype.kubevirt.io/default-preference-kind标签。如果留空,则默认为VirtualMachineClusterPreference标签。

先决条件
  • 集群中必须具有实例类型、首选项或两者。

步骤
  • 要将标签应用于数据源,请使用oc label。以下命令应用指向集群范围实例类型的标签

    $ oc label DataSource foo instancetype.kubevirt.io/default-instancetype=<my_instancetype>