In this section, we will:
- Install Debian onto a baremetal NUC using a USB key
It’s stable, it’s incredibly popular, and generally a guide for debian will work for most debian derivatives (ubuntu, raspberry pi OS, etc.) It’s also just a good operating system in general if you want a server OS.
The hardest part of debian is choosing which ISO you’re supposed to use. In this case, we’ll be installing with the debian live standard + non free ISO (that’s a mouthful). The non-free edition includes hardware support from third party vendors, which is useful for baremetal installations. In this situation we will be applying the ISO to a usb drive to boot from.
If on linux, you can apply the ISO via the built in
dd utility. On Windows, we can use Rufus.
- Once the USB drive loads, we will launch directly into the graphical debian installer
- Choose the network adapter (if multiple) and choose a name for your primary node. I’m calling mine cbkub01.
- Now we set the domain. The domain is actually important: kubernetes relies on DNS for service routing. I’m using my own domain, but you will have to come up with something. If you want valid certificates later, that something also has to be registered with a domain registrar like cloudflare. Don’t use mine, that’ll get confusing.
- Set a root password. Don’t use mine.
- We will also create a user capable of sudo (mostly because we have to). Since most of our tasks will be administrative in nature, we will be setting up kubernetes through our root account anyway.
- Choose your timezone
This next step erases any existing data on your disk, you have been warned
- If prompted to force UEFI, do so (unless you’re from the past)
- For partitioning, Let’s use guided with the Full Disk option
- Set up for everything to be in one partition
- click through all the warnings about your data going away
- Back at the partitioning screen, confirm and write changes to disk
- Let the OS install! At some stage debian will prompt you to add a network mirror, do so when prompted for future updates. Reboot when finished. If all goes well, you should have a text login screen on reboot.