Creating your own private cloud service with Kubernetes and a Raspberry Pi
Creating your own private cloud service with Kubernetes and a Raspberry Pi
There is no doubt about it, containerized cloud services that can scale and start up on demand are no longer seen just a fad or new hot buzzword meant to give marketing people another tool in their toolbox. The advantages of abstracting and localizing the many dependencies our software has with low level server infrastructure not only saves us headache, but time which in turn affects our bottom line.
There are many public cloud services out there today that are dominating the market promising low-cost solutions for smaller services and the ability to scale as your business does, all without having to buy another server or hire another sys admin. In fact, as a developer who has investigated similar solutions, I would suggest these public services to most businesses big and small.
Public Cloud vs Private
If public cloud solutions are cheap, easy to set up and maintain, what advantage does a private cloud solution provide? The most obvious is control. You decide when something needs to be updated. You decide how the network is managed between your services and the rest of the internet. You also decide what kind of hardware you want to use. Let’s say we wanted to test the waters and try out deploying our app to a private cloud. Wouldn’t it be nice if was a way we could test this out using low-cost hardware that is readily available with large scale adoption and support?
Que in the Raspberry Pi.
Kubernetes Pi(e)
Up until recently, running a clustered Kubernetes service on a Pi was for hobbyists at best. Kubernetes was never optimized to run on the ARM architecture used on Pi’s and while you could get it to ‘run’ it was more like a ‘crawl’. K3S is a project designed to put Kubernetes on a diet (under 40MB) and optimize it to run on devices using ARM, perfect for the Pi.Running Kubernetes on light weight hardware like the Pi opens a whole world of possibilities. These light-weight private clouds can be set up closer the source of the data where it matters most (think IOT, smart cars/cities) and act as an intermediary to a central public cloud. This allows traffic to stay localized when necessary (lower latency) and still provide the advantages of a containerized cloud application.
Wrapping Things Up
Things still have a way to go before we see a large-scale shift to hybrid private/public cloud solutions, but everything is out there to try and the cost of a few Pi’s is probably less than your phone bill. Here are couple resources if you would like to learn more!- A guide from the Kubernetes website: https://kubernetes.io/blog/2015/12/creating-raspberry-pi-cluster-running
- A more basic one for beginners Kubernetes: https://medium.com/nycdev/k8s-on-pi-9cc14843d43
- A guide for a Raspberry Pi Cloud Storage: https://pimylifeup.com/raspberry-pi-owncloud/
- Build your own Raspberry Pi Cloud Server: https://lonewolfonline.net/raspberry-pi-personal-cloud-server/









