I have to mount CIFS storage, trying to use flexvolume, fstab/cifs, but I have no idea what i'm doing wrong.
Using microk8s v1.18
root@master:~/yamls# cat pod.yaml
apiVersion: v1
kind: Secret
metadata:
name: cifs-secret
namespace: default
type: fstab/cifs
data:
username: 'xxxxxxxxxxx='
password: 'xxxxxxxxxxxxxxxxxxxxxx=='
---
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- name: busybox
image: busybox
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
volumeMounts:
- name: test
mountPath: /data
volumes:
- name: test
flexVolume:
driver: "fstab/cifs"
fsType: "cifs"
secretRef:
name: "cifs-secret"
options:
networkPath: "//srv/storage"
mountOptions: "dir_mode=0755,file_mode=0644,noperm"
But
root@master:~/yamls# kubectl apply -f pod.yaml
pod/busybox configured
The Secret "cifs-secret" is invalid: type: Invalid value: "fstab/cifs": field is immutable
On changing type of secret to Opaque
I get this
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned default/busybox to spb-airsys-services.spb.rpkb.ru
Warning FailedMount 17m (x23 over 48m) kubelet, master MountVolume.SetUp failed for volume "test" : Couldn't get secret default/cifs-secret err: Cannot get secret of type fstab/cifs
What I have to use with CIFS driver on Secret? Why this is so hard? Is it changing API or else? Why API version changing from version to version, is it invented in order to give version compability?
And, in future, what can you suggest to NFS mounting? Even more, which practices do you use to provide mounts' snapshots (or any other backup system)?