Packer

有沒有辦法用 Packer 提供裸機?

  • October 5, 2021

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"
}

引用自:https://serverfault.com/questions/787007