diff options
author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2022-06-10 22:20:13 +0200 |
---|---|---|
committer | Gabriel A. Giovanini <mail@gabrielgio.me> | 2022-06-10 22:20:13 +0200 |
commit | 0e147a780e74b54afbd56ff7438077d855d5c1c2 (patch) | |
tree | 25296b0370513c757416ea6d5e7258b4069b1307 /content/posts/2021-12-26Enable_NFS_on_K3S.md | |
parent | 17d160e5f9cdd4e46b0ab08cf56eaedd8943d885 (diff) | |
download | macroblog.rs-0e147a780e74b54afbd56ff7438077d855d5c1c2.tar.gz macroblog.rs-0e147a780e74b54afbd56ff7438077d855d5c1c2.tar.bz2 macroblog.rs-0e147a780e74b54afbd56ff7438077d855d5c1c2.zip |
ref: Move from HTML to MD
Keep and write in html is pain, so I'm rendering md as html.
Diffstat (limited to 'content/posts/2021-12-26Enable_NFS_on_K3S.md')
-rw-r--r-- | content/posts/2021-12-26Enable_NFS_on_K3S.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/content/posts/2021-12-26Enable_NFS_on_K3S.md b/content/posts/2021-12-26Enable_NFS_on_K3S.md new file mode 100644 index 0000000..426bf3d --- /dev/null +++ b/content/posts/2021-12-26Enable_NFS_on_K3S.md @@ -0,0 +1,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 |