Kubernetes Cluster on Raspberry Pi B (part 1 – Hardware)

I’m going to document this out as my personal reference, and also for anybody else who starts thinking about doing something like this. This page was helpful in figuring out what I was doing.

Last week, I decided that I needed to learn Kubernetes. Basically, I’ve been reading a lot about the development going on in next generation networking – and I keep running into Kubernetes as the backend for all of the management systems.

I don’t really know much about Kubernetes. It’s some kind of container management system, and seems to front-end docker, but that’s pretty much where I stop right now.

In general, when I want to know more about something – the best way for me to learn is to dig in and start using it. So – I’m going to start building and working with one from scratch.

Hardware Choice

I have an existing lab already in the basement, a couple Dell servers running ESXi with a NAS backend that holds my existing experimentation area. Initially, I thought about creating VMs for this environment. However, I decided that I wanted to try it on Pi instead. Reasons – it’s a whole new fresh environment, it would give me a way to see how actual lightweight and flexible this platform could be, it’s very portable if I want to pick up and move the whole system someplace else for some reason – I can. The whole thing built weights maybe a point, and would easily fit in a lunch box. Also, it lets me deploy on bare metal, so I wouldn’t have to worry about an kinds of VM conflicts. And, something new to learn about – I can basically pretend I’m starting fresh with four servers from the beginning and take it all the way through all those steps.

Build List:

1: Pi 4B 4Gb base unit (quantity 4) – $53 ea. This is the actual building block that will be running my workloads. It takes an SD card for storage, has built in ethernet and wifi, 4 64-bit cores running at 1.5ghz, and 2GB of Ram. Overall, these units are pretty darn easy to use and robust, you can treat them about like any other linux base system as far as management and use. I don’t really need the wifi or dual display capability, but could come in handy if I use them for something else.

2: Cluster Case (quantity 1) – $25 ea. This holds the above units together, comes with fans and headsinks for good cooling. Looks ok. It’s a bit of a pain to put together, basically the instructions are kind of crap. With a little bit of trial and error, you can assemble it pretty easily, and it’s kind of a fun project for a low-stress evening.

3: Power Supply, Anker 40W 5-Port USB Wall Charger – $23. I was trying to match up to the Power Requirements specs, which recommend 3 amps. This unit provides 2.4 Amps per port, or up to 8 amps total, which means each Pi would be getting about 2 amps. However, I’m not going to have any accessories connected to it, and base board function is 600ma, so I think I should be good. At least, everything seems to be running fine right now in this configuration.

4. Storage. You can pick whatever you want, but I went for 32Gb cards. Samsung has a 5-pack for $29, which puts it at about $6 per 32GB SD card, and seemed a reasonable price.

5. Network Cables – I snagged this 10 pack of 1 foot cables for $17.

6. Power Cables – I screwed up on this and ordered Micro-USB cables, not having used the Pi 4B before. It turns out they’ve moved to USB-C, which I prefer anyways. Don’t be a dummy like me, order the right cable the first time. 5 pack of 8-inch cables for $12.

7. Network Switch – I already had one laying around, but you could order any 5-port gigabit switch off Amazon and be fine. Something like this little Netgear for $15 should be fine.

Moving forward – see Part 2 – Software

This entry was posted in Technology. Bookmark the permalink.

Leave a Reply