使用 VMware Integrated OpenStack 运营商版本提供的租户虚拟数据中心,您可以在为每个电信工作负载提供特定服务级别协议的不同计算节点下为租户创建虚拟数据中心。

尽管项目上的配额会限制多个计算节点或可用性区域的 OpenStack 资源,但它们无法保证资源预留。通过使用租户虚拟数据中心为计算节点上的 OpenStack 项目或租户分配 CPU 和内存,您可以在多租户环境中为租户提供资源保证并避免相邻干扰场景。

您可以使用 VMware Integrated OpenStack 命令行实用程序管理租户虚拟数据中心。viocli inventory-admin 命令包括用于创建、列出和删除租户虚拟数据中心的参数。

您可以使用租户虚拟数据中心来分配计算节点级别的资源。要为虚拟网络功能 (VNF) 分配资源,请参见 使用功能元数据为实例配置 QoS 资源分配

前提条件

确认 VMware Integrated OpenStack 4.0 或更高版本已部署且正在运行。

过程

  1. 使用 SSH 登录到 VMware Integrated OpenStack Manager。
  2. 创建租户虚拟数据中心。
    viocli inventory-admin create-tenant-vdc 
       --project-id <project-id> 
       --compute <compute-node> 
       --name <vdc-name> 
       -–cpu-limit <cpu-limit>
       --cpu-reserve <cpu-reserve> 
       --mem-limit <mem-limit>
       -–mem-reserve <mem-reserve>
    参数 说明
    project-id OpenStack 项目 ID
    compute-node VMware Integrated OpenStack 上的计算节点
    vdc-name 租户虚拟数据中心的名称
    cpu-limit 计算节点中的 CPU 上限 (MHz)
    cpu-reserve 计算节点中 CPU 的最小保证或预留值 (MHz)
    mem-limit 计算节点中的内存上限 (MB)
    mem-reserve 计算节点中内存的最小保证或预留值 (MB)
    以下示例包括典型值。
    viocli inventory-admin create-tenant-vdc 
       --project-id 908909ca3db4460faaa0f765757470ac 
       --compute compute01 
       --name computeA_gold 
       -–cpu-limit 10000 
       --cpu-reserve 8000  
       --mem-limit 20000
       -–mem-reserve 10000
  3. 获取租户虚拟数据中心的 UUID。
    viocli inventory-admin list-tenant-vds
    结果会列出租户虚拟数据中心名称及其 UUID。
    +-----------------------------------------+----------------------------------+
    
    | name                                             | id                               |
    
    +--------------------------------------------------+----------------------------------+
    
    | computeA_gold (4c238c45dbcb433fb6105420c3b05b63) | 4c238c45dbcb433fb6105420c3b05b63 |
    
    +--------------------------------------------------+----------------------------------+
  4. 创建特定实例。
    openstack flavor create 
       --disk <disk-size-gb> 
       --ram <memory-in-mb> 
       --vcpus <vcpu-count> 
       --private
       --project <project>
       <flavor-name>
    参数 说明
    disk-size-gb 磁盘大小 (GB)(默认值 0 G)
    memory-in-mb 内存大小 (MB)(默认值 256 M)
    vcpu-count vCPU 数量(默认值 1)
    project 允许访问指定为名称或 ID 的专用特定实例的项目。必须与 --private 选项配合使用。
    flavor-name 新的特定实例名称
    以下示例包括典型值。
    openstack flavor create 
       --disk 10 
       --ram 2048 
       --vcpus 1 
       --private
       --project 908909ca3db4460faaa0f765757470ac
       companyA_gold
    结果会列出特定实例名称及其 UUID。
    +----------------------------+--------------------------------------+
    | Field                      | Value                                |
    +----------------------------+--------------------------------------+
    | OS-FLV-DISABLED:disabled   | False                                |
    | OS-FLV-EXT-DATA:ephemeral  | 0                                    |
    | disk                       | 10                                   |
    | id                         | 7796b6ea-17b1-4dec-868c-12e4a7196efd |
    | name                       | companyA_gold                        |
    | os-flavor-access:is_public | False                                |
    | properties                 |                                      |
    | ram                        | 2048                                 |
    | rxtx_factor                | 1.0                                  |
    | swap                       |                                      |
    | vcpus                      | 1                                    |
    +----------------------------+--------------------------------------+
    
  5. 使用 OpenStack 特定实例额外规范公开租户虚拟数据中心。
    openstack flavor set 
       --property vmware:tenant_vdc=<UUID-TvDC> <UUID-flavor>
    以下示例包括租户虚拟数据中心和特定实例 UUID 的值。
    openstack flavor set 
       --property vmware:tenant_vdc=4c238c45dbcb433fb6105420c3b05b63 7796b6ea-17b1-4dec-868c-12e4a7196efd
  6. (可选)您可以使用以下命令公开租户虚拟数据中心的 VNF 级别资源分配。
    openstack flavor set 
       --property vmware:tenant_vdc=<UUID-TvDC> 
       --property quota:memory_reservation_percent <memory-percent> 
       --property quota:cpu_reservation_percent <cpu-percent> <UUID-flavor>
    以下示例包括典型值。
    openstack flavor set 
       --property vmware:tenant_vdc=4c238c45dbcb433fb6105420c3b05b63 
       --property quota:memory_reservation_percent 100 
       --property quota:cpu_reservation_percent 100 7796b6ea-17b1-4dec-868c-12e4a7196efd

后续步骤

不再需要租户虚拟数据中心时,请将其删除。

viocli inventory-admin delete-tenant-vdc --id <UUID-TvDC>