Gibt es eine Möglichkeit, Bare-Metal mit Packer bereitzustellen?

9

Kann Packer zum Installieren und Bereitstellen eines Bare-Metal-Servers verwendet werden? Packer stellt dem Webserver Repository-Pakete und Preseed / Kickstart zur Verfügung und kann einige andere Bereitstellungssoftware (Ansible, Puppet, Chef usw.) ausführen. Könnte es verwendet werden, um Bare-Metal-Server zu installieren? Wenn ja, wie sollte ein Packer .json aussehen?

Thiago-Fahrer Augusto
quelle

Antworten:

8

Ich hatte eine ähnliche Frage. Ich habe diesen Problem-Thread bei der Verwendung von Packer mit PXE-Boot gefunden.

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

Aus dem Thread kommentierte Vasiliy Tolstov:

[Es ist] sehr einfach: Installieren Sie alle benötigten Dinge in einer VM (für Debian Live-Boot, für Fedora / Centos Dracut mit der Möglichkeit, aus dem Netz zu booten). Nachdem Sie [mit] dem Packer [erstellt] haben, führen Sie das folgende Skript aus (Beispiel für 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 \;

und im Packer Artefakte von VM herunterladen:

{
  "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"
}
Frobbit
quelle
Willkommen bei Serverfault! Dies ist keine Antwort oder reine Linkantwort. Bitte fügen Sie mindestens ein Zitat des Teils hinzu, von dem Sie glauben, dass er diese Frage beantwortet.
Esa Jokinen
Rückblickend stimme ich zu. Wie
ziehe
Bearbeiten Sie es einfach, um die eigentliche Lösung einzuschließen, und beantworten Sie die Frage. Link ist gut als Referenz zu behalten, aber externe Links können sterben und die Antwort bleibt hier. Auf diese Weise dient es möglicherweise anderen Menschen als nur dem OP.
Esa Jokinen