41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# 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
|
|
printf 'Longhorn username: '
|
|
read longhorn_username
|
|
printf 'Longhorn password: '
|
|
read -s longhorn_password
|
|
printf '%s:%s\n' \
|
|
"${longhorn_username}" \
|
|
"$(openssl passwd -stdin -apr1 <<< "${longhorn_password}")" \
|
|
> auth
|
|
kubectl create secret generic -n longhorn-system basic-auth --from-file auth
|
|
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/
|