cluster-configs/k8s/zfs-provisioner/Readme.md
2025-05-02 20:07:32 +02:00

37 lines
1.0 KiB
Markdown

# ZFS-provisioner
## Requirements
- ZFS on storage server
- nfs-kernel-server on storage server
- sudo on storage server
## Install
- Add user `adduser zfs-provisioner`
- Configure sudo on storage server:
`echo "zfs-provisioner ALL=(ALL) NOPASSWD:/sbin/zfs *,/bin/chmod *" > /etc/sudoers.d/zfs-provisioner`
- Generate an ssh keypair: `ssh-keygen`
- Edit *values.yml*
- hostAliases: IP and name of hypervisor or storage server
- ssh.identities.id_rsa: generated private key
- ssh.knownHosts: public machine key of storage server (*/etc/ssh/ssh_host_rsa_key.pub*)
- Install
```sh
kubectl create namespace zfs-provisioner
helm repo add zfs-provisioner https://ccremer.github.io/kubernetes-zfs-provisioner
helm install kubernetes-zfs-provisioner --namespace zfs-provisioner zfs-provisioner/kubernetes-zfs-provisioner -f values.yml
```
- Edit *storage-class.yml* and create the storage class
- parameters
- hostname: hostname of stroage server (make sure it resolves!)
- parentDataset: used ZFS dataset
`kubectl apply -f storage-class.yml`