-
-
Notifications
You must be signed in to change notification settings - Fork 192
Installation Kubernetes
It is possible to deploy the RaspberryMatic in Kubernetes nodes running on x86_64, arm or arm64. This allows to combine with other home automation components and High Availability solutions.
NOTE: there are tutorials for non-Linux platforms but they have not being tested with RaspberryMatic. If you try them please share your experience and contribute to the wiki if you got it working.
- Ensure you installed snap:
sudo apt install snapd
- Install the microk8s snap
sudo snap install microk8s --classic
-
Install base add-ons
sudo microk8s enable dns helm storage
-
Make sure microk8s is ready:
sudo microk8s status
- Install pivccu-modules-dkms kernel modules (required for RPI-RF-MOD/HM-MOD-RPI-PCB use):
wget -qO - https://apt.pivccu.de/piVCCU/public.key | sudo gpg --dearmor -o /usr/share/keyrings/pivccu-archive-keyring.gpg sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/pivccu-archive-keyring.gpg] https://apt.pivccu.de/piVCCU stable main" >/etc/apt/sources.list.d/pivccu.list' sudo apt update sudo apt install build-essential bison flex libssl-dev sudo apt install pivccu-modules-dkms
- Install
eq3_char_loop
kernel module to automatic module load section:sudo sh -c 'echo eq3_char_loop >/etc/modules-load.d/eq3_char_loop.conf'
- Start+Load all necessary kernel modules on host:
sudo service pivccu-dkms start sudo modprobe eq3_char_loop
-
Install the RaspberryMatic Helm repository:
sudo microk8s helm repo add raspberrymatic https://jens-maus.github.io/RaspberryMatic
-
Install RaspberryMatic:
We are upgrading the helm chart to use the [common library chart from bjw-s]((https://bjw-s.github.io/helm-charts/docs/common-library). This adds more options to tune while removes the boiler plate in our Helm chart. This unfortunately means a small disruptive change as the persistence settings are slightly different.
-
New (Versions >
3.65.11.20221005
):You need to select the volume to persist the Raspberrymatic data. The default is creating a new persistent volume claim. If you do not enable the persistence the data is lost across reboots (only good for testing)
sudo microk8s helm install raspberrymatic raspberrymatic/raspberrymatic --set persistence.data.enabled=true
Another usual option is to use the hostPath:
sudo microk8s helm install raspberrymatic raspberrymatic/raspberrymatic --set persistence.data.enabled=true --set persistence.data.type=hostPath --set persistence.data.hostPath=<persistent data directory>
-
Old (Versions <=
3.65.11.20221005
):sudo microk8s helm install raspberrymatic raspberrymatic/raspberrymatic
Note: if you are not using the storage add-on you need to select the hostPath:
sudo microk8s helm install --set persistence.hostPath=<persistent data directory> raspberrymatic raspberrymatic/raspberrymatic
-
-
If the deployment is successful you will get instructions to connect to the WebUI.
-
For additional options please check the RaspberryMatic Helm chart instructions
Table of Contents RaspberryMatic Documentation © 2015-2024 Jens Maus and RaspberryMatic Contributors, licensed under CC BY-SA License 4.0