Skip to content

foxfluff/rpi-cluster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi 4 Cluster

Purpose

The purpose of this project is to provide a devops like experience deploying and managing a cluster of Raspberry Pis

This particular cluster will contain 4 Raspberry Pi 4's (2GB) connected to a PoE enabled switch, allowing for easy deployment.

This project is mostly a learning experience and not meant to support any specific end product, with a focus on covering the following topics:

  1. Using standard DevOps software to help manage a series of servers. We could configure each Pi individually with only 4 nodes but the goal is to be able to scale this to an arbitrary size with minimal effort. This will be done with Ansible but may include other deployment tools like Chef.
  2. Be able to provide a service that is hosted across multiple devices, allowing for better performance as usage scales up. Some services that will be desired are:
    • Gitlab CI Runners
    • A simple web service which requires some basic db functionality (likely a page view counter)

Technologies to use

These are the technologies I wish to familiarize myself with throughout this project.

  • Ansible, perhaps Chef
  • Kubernetes, Docker Swarm
  • Docker Compose, Dockerfile
  • Gitlab CI, perhaps Jenkins or Travis

Technologies used so far

  • Git! Hosted on Gitlab and Github
  • Fusion360 for enclosure modeling, Meshmixer for basic edits/positioning
  • FDM 3D Printer for creating the enclosure
  • Ansible, used for system setup to easily manage all nodes in the cluster for first time configuration

Project Overview

Project Files

Location Description
./3dprint Contains various models used to construct an enclosure for this project
./ansible Contains playbooks and configuration that allow for easy management of nodes in the cluster.

Project BOM

Product Quantity Link
Raspberry Pi 4B - 2GB* 4 BuyaPi.ca
Raspberry Pi PoE Hat 4 BuyaPi.ca
64GB** Micro SD Cards 4
TP-Link TL-SG1005P 1 amazon.ca
Adafruit Panel Mount
Ethernet Extension
1 (optional) Digi-Key
Adafruit

* Doesn't necessarily have to be 2GB, you can probably use whichever variant you want
** Can be any size as long as it can fit Raspbian and whatever docker images you need

Releases

No releases published

Packages

No packages published