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

Leave a Reply

Your email address will not be published. Required fields are marked *