Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
technical:raspberry_pi_computing_cluster [2020/05/13 20:13] – created bobtechnical:raspberry_pi_computing_cluster [2020/05/16 16:16] (current) – [Docker] bob
Line 3: Line 3:
 ===== Some Background ===== ===== Some Background =====
  
-[[https://blog.hypriot.com/post/setup-kubernetes-raspberry-pi-cluster/|Setup Kubernetes on a Raspberry Pi Cluster]]+There are a number of approaches to parallel cluster processing. 
 + 
 +  * [[https://kubernetes.io/|Kubernetes]] 
 +  * [[https://docs.docker.com/engine/swarm/|Docker Swarm]] 
 +  * [[https://www.openstack.org/|OpenStack]] 
 +  * [[https://mesos.apache.org/|Apache Mesos]] 
 +  * [[https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html|Apache Hadoop YARN]] 
 +  * [[https://www.nomadproject.io/|Nomad]]
  
 ===== Setup ===== ===== Setup =====
  
-On a fresh RPi here are the pieces to install+On a fresh RPi here are the steps 
 + 
 +  * Install Python 3, remove Python 2 
 +  * Install Docker 
 +  * Install Kubernetes 
 +  * [[https://coreos.com/flannel/docs/latest/|Flannel]] - Virtual network that attaches IP addresses to containers 
 +  * [[https://kind.sigs.k8s.io/|Kind]] - A tool for running local Kubernetes clusters using Docker container “nodes” 
 + 
 +==== Docker ==== 
 + 
 +[[https://blog.alexellis.io/getting-started-with-docker-on-raspberry-pi/|Get Started with Docker on Raspberry Pi]] 
 + 
 +An automated script maintained by the Docker project will create a systemd service file and copy the relevant Docker binaries into /usr/bin/
 + 
 +  sudo curl -sSL https://get.docker.com | sh 
 + 
 +Set Docker to auto-start: 
 + 
 +  sudo systemctl enable docker 
 + 
 +Or start Docker manually: 
 + 
 +  sudo systemctl start docker 
 + 
 +The Docker client can only be used by root or members of the docker group. Add pi or your equivalent user to the docker group: 
 + 
 +  sudo usermod -aG docker pi 
 + 
 +Test the Docker install by downloading and running Alpine Linux: 
 + 
 +  docker run -ti arm32v6/alpine:3.5 /bin/sh 
 + 
 +Note that Docker creates a new docker0 network interface. 
 + 
 +==== Kubernetes ==== 
 + 
 +[[https://blog.hypriot.com/post/setup-kubernetes-raspberry-pi-cluster/|Setup Kubernetes on a Raspberry Pi Cluster]] 
 + 
 +First, trust the kubernetes APT key and add the official APT Kubernetes repository on every node: 
 + 
 +  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg > apt-key.gpg 
 +  sudo apt-key add apt-key.gpg 
 +  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
  
-Kubernetes+Install kubeadm on every node:
  
-Docker+  apt-get update 
 +  apt-get install -y kubeadm
  
-Python 3, remove Python 2