如何设置集群组

集群成员可以被分配到集群组。默认情况下,所有集群成员都属于default组。

要创建集群组,请使用incus cluster group create命令。例如

incus cluster group create gpu

要将集群成员分配到一个或多个组,请使用incus cluster group assign命令。此命令会从集群成员当前所属的所有集群组中将其移除,然后将其添加到指定的组或组。

例如,要将server1只分配到gpu组,请使用以下命令

incus cluster group assign server1 gpu

要将server1分配到gpu组,并将其保留在default组中,请使用以下命令

incus cluster group assign server1 default,gpu

要将集群成员添加到特定组而不将其从其他组中移除,请使用incus cluster group add命令。

例如,要将server1添加到gpu组,并将其保留在default组中,请使用以下命令

incus cluster group add server1 gpu

配置选项

集群组可以使用以下配置选项

instances.vm.cpu.ARCHITECTURE.baseline

CPU 基本架构名称

instances.vm.cpu.ARCHITECTURE.baseline
类型

字符串

CPU 基本架构名称,可以通过qemu -cpu ?找到。

这可以是通用定义,例如qemu64kvm64,也可以是特定硬件架构,例如EPYC-v2。确保组中的所有服务器都匹配该基线非常重要。

instances.vm.cpu.ARCHITECTURE.flags

要添加到/从基线中添加/删除的 CPU 标志

instances.vm.cpu.ARCHITECTURE.flags
类型

字符串

在 CPU 基线之上添加的 CPU 标志的逗号分隔列表,或者要从基线中删除的标志列表。

要删除标志,请使用-flag

user.*

自由格式用户键值存储

user.*
类型

字符串

用户键可以在搜索中使用。

在集群组成员上启动实例

使用集群组,您可以将实例的目标设置为在集群组的成员之一上运行,而不是将其目标设置为在特定成员上运行。

注意

scheduler.instance 必须设置为 all(默认值)或 group,以允许将实例定位到集群组。

有关更多信息,请参阅 实例的自动放置

要在集群组的成员上启动实例,请按照 在特定集群成员上启动实例 中的说明进行操作,但将 @ 前缀的组名称用于 --target 标志。例如

incus launch images:ubuntu/22.04 c1 --target=@gpu

与受限项目一起使用

可以将项目配置为仅访问特定集群组中服务器的权限。

这可以通过将 restricted=truerestricted.cluster.groups 同时设置为用逗号分隔的组名称列表来完成。

注意

如果集群组被重命名,则需要更新项目的限制以匹配新的组名称。