1
0
Fork 0
kubernetes/storage
Dustin a7eac14d39 home-assistant: Deploy Home Assistant
This commit adds resources for deploying the Home Assistant ecosystem
inside Kubernetes.  Home Assistant itself, as well as Mosquitto, are
just normal Pods, managed by StatefulSets, that can run anywhere.
ZWaveJS2MQTT and Zigbee2MQTT, on the other hand, have to run on a
special node (a Raspberry Pi), where the respective controllers are
attached.

The Home Assistant UI is exposed externally via an Ingress resource.
The MQTT broker is also exposed externally, using the TCP proxy feature
of *ingress-nginx*.  Additionally, the Zigbee2MQTT and ZWaveJS2MQTT
control panels are exposed via Ingress resources, but these are
protected by Authelia.
2023-07-24 17:53:58 -05:00
..
README.md storage: Use Authelia for Longhorn UI auth 2023-01-13 21:33:14 -06:00
longhorn-ingress.yaml storage: Use Authelia for Longhorn UI auth 2023-01-13 21:33:14 -06:00
longhorn-settings.yaml home-assistant: Deploy Home Assistant 2023-07-24 17:53:58 -05:00
longhorn.yaml home-assistant: Deploy Home Assistant 2023-07-24 17:53:58 -05:00

README.md

Persistent Storage Using Longhorn

Longhorn is a Kubernetes-native persistent storage system. It is quite complex, but installing it is fairly straightforward.

Installation

This is mostly based on the official Install with Kubectl instructions. I wanted to add node selectors to the user-deployed and system-managed components, to ensure that Longhorn only runs on x86_64 nodes, per the Node Selector instructions.

kubectl apply -f longhorn.yaml

Ingress

Expose the Longhorn UI outside the cluster:

kubectl apply -f longhorn-ingress.yaml

Authentication to the UI is handled by Authelia.