Install by kubectl
- Option#1. remote install
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
- Option#2. local install
git clone https://github.com/kubernetes-csi/csi-driver-smb.git
cd csi-driver-smb
git checkout master
./deploy/install-driver.sh master local
- check pods status:
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-controller
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-node
example output:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
csi-smb-controller-788486959d-5qmn7 3/3 Running 0 23s 10.244.0.45 aks-agentpool-60632172-vmss000006 <none> <none>
csi-smb-node-4gwzl 3/3 Running 0 15s 10.244.1.34 aks-agentpool-60632172-vmss000007 <none> <none>
csi-smb-node-hg76w 3/3 Running 0 27s 10.244.0.44 aks-agentpool-60632172-vmss000006 <none> <none>
clean up SMB CSI driver
- Option#1. remote uninstall
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --
- Option#2. local uninstall
git clone https://github.com/kubernetes-csi/csi-driver-smb.git
cd csi-driver-smb
git checkout master
./deploy/uninstall-driver.sh master local
Example to config the Kubernetes cluster using Kustomize
kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- server1-shared-secret.yaml
- server1-shared-pv.yaml
- server1-shared-pvc.yaml
server1-shared-pv.yaml
kind: PersistentVolume
apiVersion: v1
metadata:
name: server1-shared-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: server1-shared
mountOptions:
- vers=3.0
- dir_mode=0777
- file_mode=0777
- uid=1001
- gid=0
- noperm
- mfsymlinks
- cache=strict
- noserverino
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: server1-shared # make sure it's a unique id in the cluster
volumeAttributes:
source: "//server1/s/Shared/Campaign"
nodeStageSecretRef:
name: server1-shared-secret
namespace: onescore-dev
server1-shared-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: server1-shared-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
volumeName: server1-shared-pv
storageClassName: server1-shared
server1-shared-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: server1-shared-secret
type: Opaque
stringData:
username: <your username>
password: <your password>
domain: <domain>
Reference: https://github.com/kubernetes-csi/csi-driver-smb