Zum Inhalt springen

Raspberry Pi Zero: Kein Docker, k8s support mehr

Pi Zero basiert noch auf armv6l – dafür gibt es seit einigen Monaten keine neuen Kubernetes-Releases mehr und auch Docker seit 18.06.1 ist broken. Ob und wann das jemals noch gefixt wird, ist fraglich. Schade.

https://github.com/kubernetes/kubeadm/issues/253

https://github.com/moby/moby/issues/38175

So geht es trotzdem, mit einer alten Docker-Version:

sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

echo 'deb [arch=armhf] https://download.docker.com/linux/raspbian stretch edge' | sudo tee /etc/apt/sources.list.d/docker.list 

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add --batch -
sudo apt-get update
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~raspbian

# auf hold setzen, damit es nicht automatisch aktualisiert wird (z.Z. auf 18.09, welche aber für die CPU-Architektur kaputt ist)
sudo apt-mark hold docker-ce

# gegebenenfalls user "pi" zur Docker-Gruppe hinzufügen
sudo gpasswd -a $USER docker

# relogin sparen, direkt in neue Gruppe einloggen
newgrp docker

# prüfen
docker version

# Ergebnis sollte so aussehen:
#
# Client:
#  Version:           18.06.1-ce
#  API version:       1.38
#  Go version:        go1.10.3
#  Git commit:        e68fc7a
#  Built:             Tue Aug 21 17:30:52 2018
#  OS/Arch:           linux/arm
#  Experimental:      false
# 
# Server:
#  Engine:
#   Version:          18.06.1-ce
#   API version:      1.38 (minimum version 1.12)
#   Go version:       go1.10.3
#   Git commit:       e68fc7a
#   Built:            Tue Aug 21 17:26:37 2018
#   OS/Arch:          linux/arm
#   Experimental:     false

Soweit so gut. Es ändert nichts daran, dass die ARM CPU vom Zero steinalt ist (ARMv6Z/ARM11, BCM2835). Deshalb kann man z.B. kein offizielles Debian Image mehr nutzen, Docker steigt hier kommentarlos aus:

docker run -it debian /bin/bash
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
76e424dac3ee: Pull complete 
Digest: sha256:58a80e0b6aa4d960ee2a5452b0230c406c47ed30a66555ba753c8e1710a434f5
Status: Downloaded newer image for debian:latest
root@raspberrypi:/home/pi

Was funktioniert sind z.B. Alpine und darauf aufbauende Base images:

# default Alpine
docker run --rm -it alpine cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.8.2
PRETTY_NAME="Alpine Linux v3.8"
HOME_URL="http://alpinelinux.org"
BUG_REPORT_URL="http://bugs.alpinelinux.org"

# nginx:alpine
docker run --rm -p 80:80 -it nginx:alpine 
172.17.0.1 - - [06/Jan/2019:03:24:23 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" "-"

usw.

… dazu spezielle Images unterhalb von https://hub.docker.com/u/arm32v6/

Bedenkt man, dass der Raspberry Pi Zero nur mit Versandkosten zu haben ist und dann mehr oder weniger 20€ kostet, so sollte man lieber auch noch 12-15€ mehr in die Hand nehmen und einen Raspberry Pi 3/3+ mit 4 Kernen und 64Bit support beschaffen (sofern man nur an Linux interessiert ist und keine Bastelprojekte plant, für welche Größe, Stromverbrauch etc. eine Rolle spielen).

Weil vermutlich bald ein Nachfolger des 3+ erscheint, kann man zur Zeit schon einige Abverkäufe sehen, tlw auch versandkostenfrei (immer mal wieder bei bei Pollin, Reichelt und co schauen).

Noch ein Tipp: Serial over USB aktivieren

Hat man sich per Wifi ausgesperrt oder dhcpcd kaputtgemacht, kommt man evtl noch per USB auf den Pi Zero.

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die DSGVO-Checkbox ist ein Pflichtfeld

*

Ich stimme zu