Minikube: Support running minikube on Raspbian (arm)

Created on 29 Feb 2020  Âˇ  3Comments  Âˇ  Source: kubernetes/minikube

For instance the Raspberry Pi 4 comes with enough memory (2G) to be able to run Minikube.

Currently it only runs directly on the host with the none driver which is not ideal, but "works".

Docker is available in the standard distribution, packaged in the Raspbian/Debian distribution.

For compatibility this is a 32-bit Linux distro which means we need to supply arm binaries.


Example session:

pi@raspberrypi:~ $ sudo minikube start --vm-driver=none
😄  minikube v1.7.3 on Raspbian 10.3 (arm)
✨  Using the none driver based on user configuration
🤹  Running on localhost (CPUs=4, Memory=1887MB, Disk=29729MB) ...
â„šī¸   OS release is Raspbian GNU/Linux 10 (buster)
đŸŗ  Preparing Kubernetes v1.17.3 on Docker 18.09.1 ...
🚀  Launching Kubernetes ... 
🌟  Enabling addons: default-storageclass, storage-provisioner
🤹  Configuring local host environment ...

âš ī¸  The 'none' driver provides limited isolation and may reduce system security and reliability.
âš ī¸  For more information, see:
👉  https://minikube.sigs.k8s.io/docs/reference/drivers/none/

âš ī¸  kubectl and minikube configuration will be stored in /root
âš ī¸  To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:

    â–Ē sudo mv /root/.kube /root/.minikube $HOME
    â–Ē sudo chown -R $USER $HOME/.kube $HOME/.minikube

💡  This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
⌛  Waiting for cluster to come online ...
🏄  Done! kubectl is now configured to use "minikube"

If you are running a desktop environment on a 2G machine, you want to enable a swapfile.

pi@raspberrypi:~ $ free -m
              total        used        free      shared  buff/cache   available
Mem:           1887         552         208          44        1127        1260
Swap:          2047           1        2046
pi@raspberrypi:~ $ tail -5 /etc/dphys-swapfile
# restrict size (computed and absolute!) to maximally this limit
#   can be set to empty for no limit, but beware of filled partitions!
#   this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
#   but is also sensible on 64bit to prevent filling /var or even / partition
CONF_MAXSWAP=2048
kinfeature

Most helpful comment

All 3 comments

See also the original #5667 for running on arm64 (like ubuntu 18.04/19.10)
https://ubuntu.com/blog/roadmap-for-official-support-for-the-raspberry-pi-4

this would be really cool !

Was this page helpful?
0 / 5 - 0 ratings