使用 PXE 配置中的变量来启动 CoreOS

使用 PXE 配置中的变量来启动 CoreOS

我正在使用 PXELinux 部署一些 CoreOS 节点。目前服务器都使用 tftpboot/ 中的“默认”配置

我的启动配置包含以下内容 append ... cloud-config-url=http://<server>/cloud-config.yml...

此时是否有任何可用的环境变量可供我在生成 URL 时使用,例如 mac 地址?

所有服务器都使用相同的 CoreOS 映像,因此我不想为每台服务器创建新的 PXE 配置。但我确实希望他们拉下不同的 config.yml

这样我就可以根据每台服务器的 Mac 地址在我的网络服务器上创建一个新文件,即 config-01-xx-xx-xx-xx.yml。

服务器知道它的 BOOTIF(用于 pxe 启动的 MAC 地址)可以在启动配置文件中使用吗?

答案1

简短的回答:不,你不能用 Syslinux 做到这一点。

长答案:Syslinux解析config文件的二进制文件没有处理 MAC、IP 等变量的规定。只有命令ipappend能够将某些 IP/MAC 格式的信息附加到内核行,但这不是您想要的。

Pxelinux 有一个配置文件搜索序列,可以处理文件名上的 MAC 地址,但这实际上不是一个灵活的解决方案。

相关内容