From 2bf274de3fe814e3729deb9ca242df58f8936a49 Mon Sep 17 00:00:00 2001
From: "Gabriel A. Giovanini"
+ By default K3S comes only with local-path 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:
+
+ And it will print something like:
+
+ To start adding First you need to install helm on your server. To do
+ so you may
+ run:
+
+ 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. It has two
+ providers, I have chose NFS Subdir
+ External Provisioner.
+
+ Add the helm repo
+
+ Then we need to actually install the provider
+
+ Set the
+ After that if we run
+ k3s kubectl get storageclasses
+ NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
+local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 154d
+ curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
+ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
+ 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
nfs.server
and nfs.path
accordingly with your setup.
+ 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
First we should take a look at podman-login man page: -
- man podman login
-
+man podman login
It will give some valueable information like the location of auth.json file. Now we can login using podman: -
- podman login registry.gitlab.com
-
+podman login registry.gitlab.com
Then check the auth.json
file located at ${XDG_RUNTIME_DIR}/containers/auth.json
(as described
by the manual). It will contain your auth config:
-
-
-{
+{
"auths": {
"registry.gitlab.com": {
"auth": "..."
}
}
-}
-
-
+}
Now copy that file over to the server and register it in k8s with the following command: -
-
+
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=auth.json \
- --type=kubernetes.io/dockerconfigjson
-
-
-
+ --type=kubernetes.io/dockerconfigjson
Once you have created you can list by kubectl get secret: -
-
+
NAME TYPE DATA AGE
-regcred kubernetes.io/dockerconfigjson 1 53s
-
-
+regcred kubernetes.io/dockerconfigjson 1 53s
--
cgit v1.2.3