如何在 MAAS 中为已委托的机器静态分配 IP?

如何在 MAAS 中为已委托的机器静态分配 IP?

当你使用 MAAS 部署一台机器时,它的网络接口(例如 eno1)设置为“自动”,MAAS 会在部署过程中分配一个 IP。

在 MAAS UI 中,您可以选择机器的接口并将其配置为自动、静态、dhcp 或未配置。如果是静态的,您可以指定 IP 地址。

如何使用 MAAS CLI 指定静态 IP?

答案1

  1. 确定您用于静态 IP 的 MAAS 子网。

    maas maasadmin subnets read | jq '.[] | {id:.id,name:.name}' --compact-output


  2. 找到您要分配静态 IP 地址的服务器的系统 ID。

    maas maasadmin nodes read | jq '.[] | {hostname:.hostname,system_id: .system_id, status:.status}' --compact-output


  3. 识别将接收静态分配的机器的 NIC。

    maas maasadmin interfaces read ${SYSTEM_ID} | jq '.[] | {iface_id:.id, name:.name, mac:.mac_address, vid:.vlan.vid, fabric:.vlan.fabric}' --compact-output


  4. 如果 NIC 已具有“自动”链接,请识别此链接并将其删除。(在进入下一步之前,NIC 应处于未配置状态。)

    maas maasadmin interfaces read ${SYSTEM_ID} | jq '.[] | .links[] | {link_id:.id, mode:.mode, ipaddr:.ip_address}' --compact-output

    maas maasadmin interface unlink-subnet ${SYSTEM_ID} ${NIC_ID} id=${OLD_LINK_ID}


  5. 分配静态 IP 地址:

    maas maasadmin interface link-subnet ${SYSTEM_ID} ${NIC_ID} mode=STATIC subnet=${SUBNET_ID} ip_address=${STATIC_IP}


一些额外的说明:

  • 在运行该流程之前,机器应该处于“就绪”状态(调试之后,部署之前)。
  • 您的 MAAS DHCP 设置可能会影响您可用于静态的 IP 地址。具体来说,您不能使用 DHCP 拥有的地址进行静态分配。
  • 对于具有多个 NIC 的主机,您可以使用步骤 3 中的 MAC 地址来识别正确的 NIC。
  • 注意命令的引号和'管道。引号内的管道是故意的。 |jq

感谢 Canonical 技术支持部门对此解决方案提供的帮助。

相关内容