Edit product

Netbooting workshop for Raspberry Pi with K3s

What will I learn?

You'll learn how to netboot one or more Raspberry Pis - either a single host or a whole cluster. From there you'll learn how to install Kubernetes with K3s, deploy apps, and setup Ingress (incoming network access).

If you've not used or heard of netbooting before, then you may like my article on The New Stack: Bare Metal in a Cloud Native World

You'll learn how all of this works through the course material and the video.

The scripts I developed make it easy to automate everything you'll need, and you can probably compete the setup over a weekend.

What are people saying?

"This had been something I wanted to do but finding all the resources in one place was driving me crazy, your workshop came at just the right time. Thanks for such a great tutorial! " - Donald Gover

"Just got the early bird package! This workshop consists of topics I've always wanted to learn!" - Kim Lehtinen

"This workshop is truly a gem! Saved me a lot of time trying to netboot my Raspberry Pi cluster. Great work!" - Johan Siebens

"That's a lot of Pi" - Raspberry Pi

What format is the course?

Every tier:

  • PDF
  • Markdown
  • Bash scripts

The "Bigger picture" tier includes a video walk-through and demos of:

  • Explaining how everything works
  • Setting up a Raspberry Pi 4 to net-boot
  • Walk-through of the network topology
  • Configuring the server with Ubuntu
  • Live demo of net-booting two Raspberry Pis

All tiers will receive free updates, and I'll keep the course up to date the best I can, with your feedback. You'll get the updates by using the link you get from Gumroad.

What do I need for the workshop?

  • One or more Raspberry Pi 3s or 4s
  • A computer to host an NFS server (this can be an old PC, laptop, VM, etc)

Introduction - why net-boot the RPi?

It took me quite a while to figure out the best way to net-boot the Raspberry Pi, and then to run Kubernetes on it. So I wanted to write this up, and share it with you so that you can focus on enjoying your homelab, rather than battling and automating CLI commands.

How do you use this lab?

  • Net-boot one or more Raspberry Pis and run whatever you like
  • Net-boot one or more Raspberry Pis and run faasd, or a number of Docker containers
  • Net-boot one or more Raspberry Pis and then form a Kubernetes cluster with K3s

Both options are valid, and K3s is really just an add-on. The real work is in making each RPi boot from the network.

Kubernetes can run on your Raspberry Pi usings its SD card. It's now very easy to set up a cluster using tools like k3sup.dev ('ketchup') and arkade for a number of compatible apps. You may have already seen my walk-through: Install Kubernetes to your Raspberry Pi in 15 minutes.

So why netboot?

  • SD cards have a limited number of writes, and Kubernetes writes to disk often
  • SD cards have limited I/O performance and network storage can reach higher performance
  • SD cards are messy to flash, manage and replace

So netbooting is more reliable, faster and makes it trivial to provision new devices simply by creating a few files on your storage server with the scripts you'll find in this repository. If a Raspberry Pi crashes, you don't need to remove its SD card, just reboot it.

What's included in the course?

Introduction - why net-boot the RPi?

  • So why netboot?
  • Additional resources
  • What kind of storage server do I need?
  • What kind of network filesystem do I need?
Pre-requisites / build of materials
  • My setup
  • The netbooting/storage server
  • The Raspberry Pis
  • The case
Workshop
  • Prepare the Raspberry Pi 4 for netbooting
  • Prepare the Raspberry Pi 3B+ for netbooting
Server configuration
  • Prepare network filesystems for each Raspberry Pi
  • Enable the DHCP server
  • Enable the NFS server
Build a Kubernetes cluster with `k3sup`
  • Build the cluster
  • Deploy your first application
  • Managing your nodes
  • Getting ingress into your cluster
  • Remote access of your cluster from anywhere
Taking it further
  • Performance testing
  • HA multi-master with etcd
  • Static IPs (recommended)
  • Troubleshooting and Logs

Video workshop tier (recommended)

On the "Video workshop" tier, you get an additional hands-on video where Alex shows you how to configure your Raspberry Pis and your server.

Alex explains the network topology using diagrams and photos

Here's the moment he uses SSH to connect to the net-booted Raspberry Pi!

This video workshop is only available at time of purchase, and is recommended if you want to take your networking and clustering knowledge to the next level.

Changelog:

  • 21 March 2021 - (2.1) quicker way to update Kernel, new instructions for faasd and for updating distro after first netboot. Updates for Ubuntu 20.04.
  • 24th March 2021 - Video workshop uploaded for all "Video workshop" customers.
  • 25th March 2021 (2.2) - New images and diagrams to explain the network topology and show a real cluster
  • 5th Apr 2021 (2.3) - fix issue with BOOT_ORDER

Offers & discounts

Want to get 20% off both my eBooks?

Sign up to the Treasure Trove via GitHub Sponsors and get a 20% discount off both my eBooks including Serverless For Everyone Else.

Checkout

Netbooting workshop for Raspberry Pi with K3s

Enter your info to complete your purchase of Netboot like a pro

Card

···· ···· ···· 4242
Test card

05/18

Card

Use a different card?

Card

pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$40.

Your purchase was successful!

We charged your card and sent you a receipt

    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad