DISCLAIMER: k3s don't support ZFS at the moment; so if you use ZFS, you will need to create a k3os VM.
Adopting the future (present)
More and more Kubernetes take the lead in the world of containerization. The early bird stage is done, and even solution for home user are appearing (such as k8s as home).
Here a good source of charts: https://artifacthub.io/packages/search
For a long time, I've simply used docker-compose because k8s was necessitating too much time and effort. Then I recently discovered k3s, which could run a one single node (no cluster need) and it is 100% compatible with k8s.
From TrueNAS SCALE to OMV
TrueNAS SCALE integrated it very nicely inside his WebUI and, even it still in beta, they already have a community who taking over to translate popular apps in their ecosystem.
https://github.com/truecharts/apps
But TrueNAS SCALE, being TrueNAS, even if the SCALE project is base on Debian, they simply took the Debian kernel and rebuilt everything around; result, nothing works as expected
KVM can't pass PCI and USB properly, apt-get is unavailable and so on.
- So this is why I converted my encrypted zfs from TrueNAS to OpenMediaVault.
- Now my Windows VM run on ZFS with proper passthrough and all my shares are back; I tackle the k8s missing part, because docker-compose is sad and so 2010.
Step1: Installing k3s
WARNING: k3s don't support ZFS (https://github.com/rancher/k3os/issues/331)
skip this step1; create a k3os VM instead (https://github.com/rancher/k3os#quick-start) then go to step2
It is easy as they mention (url)
curl -sfL https://get.k3s.io | sudo sh -
# Check for Ready node, takes maybe 30 seconds
k3s kubectl get node
Step2: Helm the magic wand
ref: https://helm.sh/docs/intro/quickstart/
wget https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
bash get-helm-3
Step3: the missing dashboard
I tried a bunch a dashboard; the more natural was kubernetes-dashboard; but again it brought back the complexity of k8s.
Then I discovered that portainer could manage k8s and charts; which is nice since OMV user are probably already familiar with.
ref: https://docs.portainer.io/v/ce…rver/kubernetes/baremetal
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
helm repo add portainer https://portainer.github.io/k8s/
helm repo update
helm install --create-namespace -n portainer portainer portainer/portainer
export NODE_PORT=$(kubectl get --namespace portainer -o jsonpath="{.spec.ports[1].nodePort}" services portainer)
export NODE_IP=$(kubectl get nodes --namespace portainer -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT
and Voilà! you're ready to chart your OMV via Portainer.