MAAS:如何使用 CLI/API 为新机器创建/更新网络接口?

MAAS:如何使用 CLI/API 为新机器创建/更新网络接口?

我能够使用 MAAS API 创建一台新机器。问题是,在调试之前需要添加/更改接口,这是行不通的。

尝试 1:创建机器时没有 mac_address

创建了一台机器,但没有指定 MAC 地址。这会导致机器的接口部分完全为空。

命令

maas myreg interfaces create-physical <system_id> name=eno1 mac_address="fc:aa:64:1f:0f:1c"

失败:

Cannot create interface because the machine is not Ready, Allocated, or Broken.

尝试 2:在创建机器时指定 mac_address

创建了一台机器,指定 mac_addresses 参数为机器添加了一个接口,但该接口已将所有内容设置为默认值,因此无法直接使用。但更改不起作用,例如:

maas myreg interface update ....
maas myreg interface link-subnet ....

所有都以相同的错误消息结束:

Cannot link subnet interface because the machine is not Ready, Allocated, or Broken.

观察结果

使用 GUI,我可以根据需要更改/添加界面。

问题

当机器处于“新”状态时,我需要更改/更新/添加接口。该怎么做?

答案1

所以我以前做过这个。我假设“新机器”是一台虚拟机,如果是这样,你可以遵循这个模板。你需要按照下面显示的步骤操作,并确定创建时所需的接口数量。

  • 虚拟机创建后可以添加接口吗?不,据我所知不行。
  • 识别完物理机​​后还能添加接口吗? 可以,但是需要重新调测服务器。

在下面的示例中,我使用了以下设置:

  • vCPU:4,
  • 内存(MB):4096,
  • HDD1: 60,
  • 内部CIDR”: "192.168.1.0/24",
  • 公共 cidr:“10.245.1.0/24”

创建虚拟机:

vm-host compose {pod_id} cores={vCPU} memory={RAM_in_MB} 'storage=mylabel:{HDD1},mylabel:{HDD2}' interfaces='eno1:subnet_cidr={Internal_CIDR};eno2:subnet_cidr={public_cidr}'

如果你需要一座桥梁:

interfaces create-bridge {server_id} name=br0 parent={interface_id} bridge_stp=True

设置 IP:

interface link-subnet {server_id} {interface} subnet={cidr} mode=STATIC ip_address={vm_ip}"

部署:

machine deploy {server_id} distro_series="focal hwe_kernel=hwe-20.04"

相关内容