在特定子网下创建虚拟服务器

create a virtual server under a specific subnet

我正在使用 softlayer 的 ruby API,我正在尝试在 VLAN 中的特定子网下创建一个虚拟服务器,但我找不到执行此操作的方法。 目前我正在使用以下 json:

 creation_hash = {
    'complexType' => 'SoftLayer_Virtual_Guest',
    'hostname' => XXX,
    'domain' => XXXX
    'datacenter' => { 'name' => @datacenter },
    'startCpus' => sl_machine_type(@params['instance_type'])['cpu'],
    'maxMemory' => sl_machine_type(@params['instance_type'])['memory'],
    'hourlyBillingFlag' => true,
    'blockDeviceTemplateGroup' => { 'globalIdentifier' => @params['image_id'] },
    'localDiskFlag' => false,
    'dedicatedAccountHostOnlyFlag' => true,
    'primaryBackendNetworkComponent' => {
      'networkVlan' => {
        'id' => @private_vlan['id']
      }
    },
    'networkComponents' => [{ 'maxSpeed' => 1000 }],
    'privateNetworkOnlyFlag' => true
  }

所以当我选择一个 VLAN 时,它会选择该 VLAN 下的一个随机子网。 我怎样才能指定一个子网?我没有在文档中找到这个选项。

遗憾的是,无法指定应将服务器配置到哪个子网。

配置系统将从 VLAN 的主子网中选择一个 IP。

措辞有点含糊in this article,但它表示 IP 是自动分配的。我会更新它以声明无法为主要请求特定的 IP 块。

在配置后直接从辅助子网向服务器添加 IP 可能是一种解决方法。如果需要自动化,这可以通过 post 安装脚本或配置管理器(salt、chef 等)来完成。它还允许您专门控制每个服务器使用哪些 IP。