6.5. 创建项目隔离主机聚合

您可以创建一个仅适用于特定项目的主机聚合。只有您分配给主机聚合的项目才能在主机聚合中启动实例。

注意

项目隔离使用放置服务为每个项目过滤主机聚合。此过程取代了 AggregateMultiTenancyIsolation 过滤器的功能。因此,您不需要使用 AggregateMultiTenancyIsolation 过滤器。

流程

  1. 打开您的计算环境文件。
  2. 要将项目实例调度到项目隔离主机聚合上,请在 Compute 环境文件中将 NovaSchedulerLimitTenantsToPlacementAggregate 参数设置为 True
  3. 可选: 为确保您分配给主机聚合的项目才能在云中创建实例,请将 NovaSchedulerPlacementAggregateRequiredForTenants 参数设置为 True

    注意

    NovaSchedulerPlacementAggregateRequiredForTenants 默认为 False。当此参数为 False 时,未分配给主机聚合的项目可以在任何主机聚合上创建实例。

  4. 保存对 Compute 环境文件的更新。
  5. 使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -e /home/stack/templates/<compute_environment_file>.yaml \
  6. 创建主机聚合。
  7. 检索项目 ID 列表:

    (overcloud)# openstack project list
  8. 使用 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& gt;、<project_id 1> 以及直到 &lt ;project_idn > 的所有项目 ID 替换为您要分配给主机聚合的每个项目 ID。
    • <aggregate_name > 替换为项目隔离主机聚合的名称。

      例如,使用以下语法将项目 78f1、 9d3taa29 分配给主机聚合 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

其他资源