storage: Add manifest for Longhorn

I was originally going to use GlusterFS to provide persistent storage
for pods, but [Heketi][0], the component that provides the API for
the Kubernetes StorageClass, is in "deep maintenance" status and looks
to be practically dead.  I was a bit afraid to try to use it because of
that, and went looking for guidance on Reddit, which is how I discovered
Longhorn.
This commit is contained in:
2022-07-31 00:57:53 -05:00
parent 30cbc568d0
commit 9b86a117ef
3 changed files with 3842 additions and 0 deletions

31
storage/README.md Normal file
View File

@@ -0,0 +1,31 @@
# Persistent Storage Using Longhorn
[Longhorn] is a Kubernetes-native persistent storage system. It is quite
complex, but installing it is fairly straightforward.
[Longhorn]: https://longhorn.io
## Installation
This is mostly based on the official [Install with Kubectl][0] 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][1] instructions.
```sh
kubectl apply -f longhorn.yaml
```
## Ingress
Expose the Longhorn UI outside the cluster:
```sh
kubectl apply -f longhorn-ingress.yaml
```
[0]: https://longhorn.io/docs/1.3.0/deploy/install/install-with-kubectl/
[1]: https://longhorn.io/docs/1.3.0/advanced-resources/deploy/node-selector/