Longhorn
Součást PiKube setupu na k3s. UI je zde: Longhorn GUI.
Zdroje
Docs: https://docs.k3s.io/storage
Repo: home.mixi.cz:/srv/git/repos/home/automation.git, folder kube/longhorn
Setup
1. setup manifests
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
kubectl apply -f longhorn-ingress.yaml
kubectl apply -f longhorn-storageclass.yaml
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"} }}'
kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"} }}'
2. in Longhorn GUI set:
- Default Longhorn Static StorageClass Name =
longhorn-pikube(jinak bude špatná storage class na restorovaných volumes),
3. in Longhorn GUI set up nodes:
- delete default /var/... path on all nodes,
- on nodes with storage, configure proper path in
/srv/kube/longhorn(optionally leave 1 GB as reserved)
Restore backup
- po instalaci je potřeba nastavit backup target
nfs://piback:/srv/backup/longhorn - pak je potřeba počkat než se backupy zmapují,
- při restore je potřeba zaškrtnout use previous name
- počkat na kompletní obnovu z backupu,
- pak u obnoveného volume udělat Create PV/PVC - bez tohoto kroku se nedá spárovat volume s požadovaným podem,
- také je nutné mít správnou velikost v kube manifestu, jinak se volume nespáruje,
Upgrade
Warning
Je nutné upgradovat vždy jen o jednu minor verzi (např. první upgrade několik let po setupu byl: v1.6.1 → v1.7.3 → v1.8.2 → v.1.9.1). Upgrade o více minor verzí není podporovaný!
- backup všech volumes: záložka Volume, označit vše a tlačítko Create Backup (dát label
longhorn-upgrade=from_v1.6.1- nahradit verzí ze které se upgraduje) – operace trvá cca 20 minut, - zjistit poslední stable verzi pro upgrade (max. o jednu minor verzi vyšší, např. 1.7.3 pro upgrade z 1.6.1),
- upgrade jádra a UI:
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.7.3/deploy/longhorn.yaml - pro každý volume provést ručně upgrade engine: záložka Volume, pro daný volume Operation → Upgrade Engine → vybrat verzi co odpovídá jádru (např. 1.7.3).
- otestovat aplikace