coreos terraform/matchbox 未完全安装

coreos terraform/matchbox 未完全安装

我正在关注这个教程火柴盒与地形最终目标是运行简单安装示例它启动一个 coreos 机器并复制一个 ssh 密钥。

我看着它加载 coreos 容器,请看屏幕录制我拍了(描述中有重要的时间标记,大部分时间都是静态屏幕)。看起来它要么完成了将图像加载到 RAM 并重新启动,要么发生了某些故障并重新启动,但我说不出是哪个。我认为问题出在我的 dhcp/tftp iPXE 服务器设置上。

我没有修改任何 simple-install terraform 示例配置。您可以在 matchbox-with-terraform 教程中找到它们。

顺便说一句,我正在 coreos 教程中描述的 docker 容器中运行代理 DHCP 和 TFTP 服务器这里用于 iPXE 启动。

我的docker容器是:

sudo docker run --rm --cap-add=NET_ADMIN --net=host quay.io/coreos/dnsmasq \
-d -q \
--dhcp-range=10.90.239.97,proxy,255.255.255.0 \
--enable-tftp --tftp-root=/var/lib/tftpboot \  
--dhcp-userclass=set:ipxe,iPXE \  
--pxe-service=tag:#ipxe,x86PC,"PXE chainload to iPXE",undionly.kpxe \  
--pxe-service=tag:ipxe,x86PC,"iPXE",http://10.90.239.223:8080/boot.ipxe \ 
--log-queries \
--log-dhcp

关于我的 tftp 设置的一些信息

$ ls /var/lib/tftpboot/
boot  ipxe.efi  pxelinux.cfg  undionly.kpxe 
$ cat /var/www/html/ipxe/default.ipxe
chain http://10.90.239.223:8080/boot.ipxe

所以我不知道为什么它会以这种方式重新启动,我认为这是一个错误。

对于如何进一步诊断这一点,我将不胜感激。

答案1

对我来说,事实证明我的 terraform.tfvars 具有本地主机 IP

$ cat terraform.tfvars
matchbox_http_endpoint = "http://127.0.0.1:8080"
matchbox_rpc_endpoint = "127.0.0.1:8081"
ssh_authorized_key = "<id_rsa.pub>"

而不是实际的服务器 IP

$ cat terraform.tfvars
matchbox_http_endpoint = "http://10.90.239.223:8080"
matchbox_rpc_endpoint = "10.90.239.223:8081"
ssh_authorized_key = "<id_rsa.pub>"

修复了这个问题,它就运行得很好了。我所遵循的示例使用了本地主机 IP,这很令人困惑。

相关内容