6.5. 创建项目隔离主机聚合
您可以创建一个仅适用于特定项目的主机聚合。只有您分配给主机聚合的项目才能在主机聚合中启动实例。
注意
项目隔离使用放置服务为每个项目过滤主机聚合。此过程取代了 AggregateMultiTenancyIsolation
过滤器的功能。因此,您不需要使用 AggregateMultiTenancyIsolation
过滤器。
流程
- 打开您的计算环境文件。
-
要将项目实例调度到项目隔离主机聚合上,请在 Compute 环境文件中将
NovaSchedulerLimitTenantsToPlacementAggregate
参数设置为True
。 可选: 为确保您分配给主机聚合的项目才能在云中创建实例,请将
NovaSchedulerPlacementAggregateRequiredForTenants
参数设置为True
。注意NovaSchedulerPlacementAggregateRequiredForTenants
默认为False
。当此参数为False
时,未分配给主机聚合的项目可以在任何主机聚合上创建实例。- 保存对 Compute 环境文件的更新。
使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml \
- 创建主机聚合。
检索项目 ID 列表:
(overcloud)# openstack project list
使用
filter_tenant_id<suffix
> 元数据键将项目分配给主机聚合:(overcloud)# openstack aggregate set \ --property filter_tenant_id<ID0>=<project_id0> \ --property filter_tenant_id<ID1>=<project_id1> \ ... --property filter_tenant_id<IDn>=<project_idn> \ <aggregate_name>
-
将
<ID0>
,<ID1>
,以及直到<IDn>
的所有 ID 替换为您要创建的每个项目过滤器的唯一值。 -
将
<project_id
0>、<project_id
1> 以及直到 <project_idn
> 的所有项目 ID 替换为您要分配给主机聚合的每个项目 ID。 将
<aggregate_name
> 替换为项目隔离主机聚合的名称。例如,使用以下语法将项目
78f1、
9d3t
和aa29
分配给主机聚合project-isolated-aggregate
:(overcloud)# openstack aggregate set \ --property filter_tenant_id0=78f1 \ --property filter_tenant_id1=9d3t \ --property filter_tenant_id2=aa29 \ project-isolated-aggregate
提示您可以通过省略
filter_tenant_id
元数据键中的后缀来创建仅适用于单个特定项目的主机聚合:(overcloud)# openstack aggregate set \ --property filter_tenant_id=78f1 \ single-project-isolated-aggregate
-
将
其他资源
- 有关创建主机聚合的更多信息,请参阅 创建和管理主机聚合。