kube/longhorn-system/README.md

42 lines
1.7 KiB
Markdown
Raw Normal View History

2022-08-16 09:40:54 +00:00
# Longhorn distributed block storage system
2024-08-14 04:36:31 +00:00
## For users
2022-08-16 09:40:54 +00:00
2024-08-14 04:42:24 +00:00
You should really avoid using Longhorn as it has over time
[proven to be unreliable system](https://www.reddit.com/r/kubernetes/comments/1cbggo8/longhorn_is_unreliable/).
Prefer using remote databases in your application via
2024-08-14 04:36:31 +00:00
the Kubernetes operator pattern.
Use Longhorn for applications that need persistent storage, but are unable
to provide replication in the application layer:
* Applications that insist writing into filesystem
* Applications that serve Git repositories (eg Gitea)
* Applications that check out Git repositories (eg Woodpecker, Drone and CI systems)
* Applications that need to use SQLite
Instead of using built-in `longhorn` storage class, please add new storage class
with suitable replication, data locality parameters and reclaim policy
2024-08-14 04:37:23 +00:00
[here](https://git.k-space.ee/k-space/kube/src/branch/master/storage-class.yaml)
2023-05-18 19:46:54 +00:00
2024-08-14 04:36:31 +00:00
Longhorn backups are made once per day and it's configured to be uploaded to
the Minio S3 bucket hosted at nas.k-space.ee
## For administrators
Longhorn was last upgraded with following snippet:
2022-08-16 09:40:54 +00:00
```
2024-08-14 04:36:31 +00:00
wget https://raw.githubusercontent.com/longhorn/longhorn/v1.6.2/deploy/longhorn.yaml
patch -p0 < changes.diff
kubectl -n longhorn-system apply -f longhorn.yml -f application-extras.yml -f backup.yaml
2022-08-16 09:40:54 +00:00
```
2024-08-14 04:36:31 +00:00
After initial deployment `dedicated=storage:NoSchedule` was specified
2022-08-16 09:40:54 +00:00
for `Kubernetes Taint Toleration` under `Setting -> General` on
[Longhorn Dashboard](https://longhorn.k-space.ee/).
2024-08-14 04:36:31 +00:00
Suitable nodes were tagged with `storage` and Longhorn scheduling was disabled on others.
2024-08-14 04:41:25 +00:00
This is to prevent scheduling Longhorn data on arbitrary Kubernetes nodes as
`storage[1-4].kube.k-space.ee` nodes are the ones which have additional 200G volume mounted at `/mnt/persistent/`