navigation

Turing Machines

Personal, Mobile Edge Computers and Lab

Turing Pi is a private mobile cloud in a mini ITX form factor. It’s a scale model of bare metal clusters like you see in data centers. Turing Pi cluster board can scale up to 7 compute nodes.

Specs:

  • 1 Gbps Ethernet
  • 7 x 40 pin GPIO
  • Multiple USB
  • HDMI, Audio jack, ATX
  • Up to 28 cores
  • Up to 7 GB RAM

Features:

  • Flash mode - flash RPi compute modules through the board
  • Boot mode - boot OS through eMMC or SD card or netboot
  • Power management for each node (on/off/reboot)
  • Real-time clock (RTC)
  • I2C cluster management bus

Turing Pi cluster board could be an excellent fit for the following use cases:

  • Edge apps hosting
  • Homelab
  • Develop and learn cloud-native technologies like Kubernetes, Docker, Serverless, Microservices on bare metal
  • Cloud-native apps testing environment
  • Learn concepts of distributed Machine Learning apps
  • Hosting and managing IoT apps
  • Prototype and learn cluster applications, parallel computing, and distributed computing concepts on bare metal

The Turing Pi top/master node can act as a NAT/Router for the rest of the nodes. The main advantage is that if you move the cluster from one location to another, all the nodes IPs stay identical. The next thing is when you set up the operating system, you immediately realize how unpractical it is to plug in each module into a master node and connect display via HDMI, as well as connect USB mouse and keyboard to perform the first initialization. However, the Hypriot OS and some other OS preconfigure nodes with SSH enabled Docker container and makes it super easy to setup each node using SSH.

    Turing Pi Basics

    This is Turing Pi Basics

    Kubernetes

    This is Kubernetes tutorial page

    Helm & Maintenance

    This is Helm & Maintenance tutorial page

    FAQ

    1. What can I do with the board? Home server (homelab) and application hosting Develop and learn cloud-native technologies (Kubernetes, Docker Swarm, Serverless, Microservices) on bare metal Cloud-native apps testing environment Learn concepts of distributed Machine Learning apps Hosting and managing IoT apps Prototype and learn cluster applications, parallel computing, and distributed computing concepts on bare metal Host K8S, K3S, Minecraft, Plex, Owncloud, Nextcloud, Seafile, Minio, Tensorflow, … 2.

    Specs

    Turing Pi specifications

    Creating a Turing Pi Kubernetes Cluster

    Building Kubernetes on top of Turing Pi brings another dimension to the edge computing and learning, from setting up the OS, partitionning the OS, DHCP, NAT, cross compiling for the ARM32V7.

    Cluster Management Bus

    Turing Pi cluster management bus configuration, security and internal devices

    Add Persistent Volume to Turing Pi

    In order to install Prometheus, NATS, Cassandra using Kubernetes, we need to first create Persistency Volumes

    Deploy Helm and Tiller on Turing PI cluster

    Use Helm & Tiller on the Turing PI Cluster

    Deploy Flannel in Turing Pi

    In order to get the nodes and pods interface with each other accross the cluster. This post describes how I deployed Flannel acounting with the fact that some of the nodes have multiple interfaces (wlan0 and eth0).

    Add Raspberry Pi Compute Module as a worker

    During some of the manipulation of the partition table of my SD card, I ended up screwing up both my SD card and my backup Win32DiskImage backup. Moreover if your SD card is 32G, it takes around 30 minute to restore from backup. Hence the idea to come up with a way to build more resiliency in the cluster. Recreating a node from scratch should not take more than 10 mn. The propose procedure is still rather long because I did not push enough yet what the HypriotOS team, aka build a default SD image where cloud-init does 100% of the initialization work.

    Upgrade Kubernetes

    Upgrade tutorial