Я следую этому руководству спичечный коробок с терраформой конечной целью которого является запуск пример простой установки который устанавливает машину coreos и после нее копирует ключ ssh.
Я смотрю, как загружается контейнер coreos, пожалуйста, посмотрите запись экрана Я взял (в описании есть важные временные метки, большую часть времени это статичный экран). Кажется, что он либо завершает загрузку образа в ОЗУ и перезагружается, либо что-то не получается, и он перезагружается, но я не могу сказать, что именно. Я думаю, что проблема в моей настройке сервера iPXE dhcp / tftp.
Я не менял ни одной из конфигураций примера простой установки terraform. Вы можете найти их в учебнике по спичечным коробкам с терраформой.
Кстати, я запускаю прокси-сервер DHCP и TFTP в контейнере докеров, описанном в учебнике coreos. Вот для загрузки iPXE.
мой контейнер докеров:
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
Так что я не понимаю, почему он перезагружается именно так, я думаю, что это ошибка.
Любые комментарии о том, как я могу дополнительно диагностировать это, приветствуются.
Для меня оказалось, что мой 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-адрес localhost, что сбивает с толку.