Packer
有沒有辦法用 Packer 提供裸機?
Packer 能否用於安裝和配置裸機伺服器?Packer 為 webserver 提供儲存庫包和 preseed/kickstart,並且可以執行一些其他配置軟體(ansible、puppet、chef 等)。可以用來安裝裸機伺服器嗎?如果是,packer .json 應該是什麼樣子?
我有一個類似的問題。我在使用 Packer 和 PXE 啟動時發現了這個問題執行緒。
https://github.com/hashicorp/packer/issues/955
Vasiliy Tolstov 在文章中評論道:
$$ It’s $$非常簡單:在 VM 中安裝所有需要的東西(對於 Debian live-boot,對於 Fedora/centos Dracut,可以從網路啟動)。後$$ building $$那$$ with $$打包程序執行以下腳本(Debian 範例):
#!/bin/sh -ex apt-get -y install squashfs-tools mkdir -p /mnt/squashfs /squashfs mount -o bind / /mnt/squashfs mksquashfs /mnt/squashfs /squashfs/filesystem.squashfs -comp gzip -no-exports -xattrs -noappend -no-recovery -e /mnt/squashfs/squashfs/filesystem.squashfs find /boot -name 'vmlinuz-*' -type f -exec cp {} /squashfs/vmlinuz \; find /boot -name 'init*' -type f -exec cp {} /squashfs/initrd.img \;
並在打包器從 vm 下載工件:
{ "type": "file", "direction": "download", "sources": [ "/squashfs/vmlinuz" ], "destination": "output/{{user `name`}}-squashfs/{{user `name`}}.vmlinuz" }, { "type": "file", "direction": "download", "sources": [ "/squashfs/initrd.img" ], "destination": "output/{{user `name`}}-squashfs/{{user `name`}}.initrd" }, { "type": "file", "direction": "download", "sources": [ "/squashfs/filesystem.squashfs" ], "destination": "output/{{user `name`}}-squashfs/{{user `name`}}.squashfs" }