Есть ли способ подготовить «голое железо» с помощью Packer?

Можно ли использовать Packer для установки и подготовки сервера без операционной системы? Packer предоставляет веб-серверу пакеты репозитория и preseed / кикстарт и может запускать некоторые другие программы подготовки (ansible, puppet, chef и т. д.). Можно ли его использовать для установки серверов без ОС? Если да, то как должен выглядеть упаковщик .json?

9
задан 29 June 2016 в 23:26
1 ответ

У меня возник аналогичный вопрос. Я нашел эту ветку проблемы при использовании Packer с загрузкой PXE.

https://github.com/hashicorp/packer/issues/955

Из темы, Василий Толстов прокомментировал:

[Это] очень просто: установите все необходимое внутри виртуальной машины (для Live-загрузки Debian, для Fedora / centos Dracut с возможностью загрузки из сети). после [построения] этого [с] упаковщиком запустите следующий скрипт (пример для 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"
}
5
ответ дан 2 December 2019 в 22:36

Теги

Похожие вопросы