blob: 426bf3dbb2063385f7d166289ac246841ffde717 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
By default [K3S](https://k3s.io/) comes only with
[local-path](https://github.com/rancher/local-path-provisioner) storage
class, and if you are running with more than one node in your cluster
you may want to use a more \"distributed\" solution. For may case I
opted for NFS.
To check the current storage class you can run:
``` bash
k3s kubectl get storageclasses
```
And it will print something like:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 154d
To start adding First you need to install
[helm](https://github.com/helm/helm) on your server. To do so you may
run:
``` bash
curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
```
**Be careful when running scripts directly into bash always check the
source** **Sometimes is also recommended to do not pipe directly to
bash**
Once it is installed we need to add the [NFS storage
classes](https://kubernetes.io/docs/concepts/storage/storage-classes/#nfs).
It has two providers, I have chose [NFS Subdir External
Provisioner](https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner).
Add the helm repo
``` bash
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
```
Then we need to actually install the provider
``` bash
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path
```
Set the `nfs.server` and `nfs.path` accordingly with your setup.
After that if we run `k3s kubectl get storageclasses` it will now print
another NFS provider:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 154d
nfs-client cluster.local/nfs-subdir-external-provisioner Delete Immediate true 76m
|