Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced Baremetal guide #1257

Open
janiskemper opened this issue Apr 9, 2024 · 2 comments
Open

Advanced Baremetal guide #1257

janiskemper opened this issue Apr 9, 2024 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@janiskemper
Copy link
Contributor

/kind feature

Describe the solution you'd like
Guide with advanced features for bare metal that go beyond the quickstart and cover the following topics (list can be extended):

  • Use label selectors for HetznerBareMetalHosts
  • Use installimage configuration
  • RAID
  • Something else?!
@janiskemper janiskemper added the documentation Improvements or additions to documentation label Apr 9, 2024
@simonostendorf
Copy link

I would like to see a guide on using a tarball with installimage and how to create that tarball. Images (snapshots) for hcloud machines can be created using the kubernetes-sigs image-builder, but I don't know of any "smart" solution that has the same scripts and components as the image-builder for building a tarball.

@guettli
Copy link
Contributor

guettli commented Aug 15, 2024

I would like to see a guide on using a tarball with installimage and how to create that tarball. Images (snapshots) for hcloud machines can be created using the kubernetes-sigs image-builder, but I don't know of any "smart" solution that has the same scripts and components as the image-builder for building a tarball.

I would like to have better docs for the tarball, too.

I am not a big fan of redundant documentation. If possible, the owner of the tool should create documentation. In this case it is about install-image. Which is owned by Hetzner. There are already some hints:

You need to archive the complete OS in the .tar.gz format and placed it on a web, NFS or FTP server, or upload it into the Rescue System (for example, by using SCP). The archive should not contain /dev, /proc or /sys folders.

The archive must start with the name of the distribution and the version at the second position within the file name. Depending on the distribution, the architecture must be at the 3rd or 4th position. (for example, "Debian-1201-bookworm-arm64-custom.tar.gz" or "Rocky-92-amd64-backup.tar.gz").

You need to select and install the bootloader GRUB in the configuration file.

There should only be one kernel in /boot.

Source: https://docs.hetzner.com/robot/dedicated-server/operating-systems/installing-custom-images/#custom-image-installation-using-the-installimage-script

I (Syself employee working on that topic) don't have more information.

Something like this should work:

arch=$(dpkg --print-architecture)
tgz=Ubuntu-2204-jammy-${arch}.tar.gz
time tar czf "$tgz" --exclude=/dev \
    --exclude=/proc --exclude=/sys --exclude=/var/lib/cloud --exclude="/root/$tgz" \
    --exclude=/run --exclude=/tmp --exclude="/var/cache/*" --exclude=/root/.ssh/authorized_keys \
    --exclude="/var/log/*" \
    /

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants