Skip to content

Commit 33845cb

Browse files
authored
Merge pull request #65 from andyzhangx/smb-server-doc
doc: update samba server doc
2 parents 6ee3075 + 16ebef9 commit 33845cb

File tree

4 files changed

+77
-25
lines changed

4 files changed

+77
-25
lines changed

deploy/example/e2e_usage.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
### Prerequisite
33
- [Set up a Samba Server on a Kubernetes cluster](./smb-provisioner/)
44
> this example will create a new Samba Server(`//smb-server.default.svc.cluster.local/share`) with credential stored in secret `smbcreds`
5-
- Use `kubectl create secret` to create `smbcreds` with Samba Server username, password
6-
> skip this if already done
5+
- Use `kubectl create secret` to create `smbcreds` secret to store Samba Server username, password
76
```console
87
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD"
98
```
Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,22 @@
11
## Set up a Samba Server and a deployment to access Samba Server on a Kubernetes cluster
2-
This page will show you how to:
3-
- set up a Samba Server deployment on a Kubernetes cluster
2+
This page will show you how to set up a Samba Server deployment on a Kubernetes cluster.
43
> file share data is stored on local disk.
5-
- set up a deployment to access Samba Server on a Kubernetes cluster
64
75
### Set up a Samba Server
8-
- Use `kubectl create secret` to create `smbcreds` with SMB username, password
6+
- Use `kubectl create secret` to create `smbcreds` secret to store Samba Server username, password
97
```console
108
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD"
119
```
1210

13-
- Create a Samba Server deployment
11+
- Option#1. Create a Samba Server deployment on local disk
1412
> modify `/smbshare-volume` in deployment to specify different path for smb share data store
1513
```console
1614
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/smb-server.yaml
1715
```
1816

19-
After deployment, a new service `smb-server` is created, file share path is `//smb-server.default.svc.cluster.local/share`
20-
21-
### Create a deployment to access above Samba Server
17+
- Option#2. Create a Samba Server deployment on Azure data disk
2218
```console
23-
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/pv-smb.yaml
24-
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/pvc-smb-static.yaml
25-
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/deployment.yaml
19+
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/smb-server-azuredisk.yaml
2620
```
2721

28-
- Verification
29-
```console
30-
# kubectl exec -it deployment-smb-646c5d579c-5sc6n bash
31-
root@deployment-smb-646c5d579c-5sc6n:/# df -h
32-
Filesystem Size Used Avail Use% Mounted on
33-
...
34-
//smb-server.default.svc.cluster.local/share 97G 21G 76G 22% /mnt/smb
35-
/dev/sda1 97G 21G 76G 22% /etc/hosts
36-
...
37-
```
22+
After deployment, a new service `smb-server` is created, file share path is `//smb-server.default.svc.cluster.local/share`
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
kind: Service
3+
apiVersion: v1
4+
metadata:
5+
name: smb-server
6+
labels:
7+
app: smb-server
8+
spec:
9+
type: ClusterIP # use "LoadBalancer" to get a public ip
10+
selector:
11+
app: smb-server
12+
ports:
13+
- port: 445
14+
name: smb-server
15+
---
16+
kind: PersistentVolumeClaim
17+
apiVersion: v1
18+
metadata:
19+
name: pvc-azuredisk-smbshare
20+
spec:
21+
accessModes:
22+
- ReadWriteOnce
23+
resources:
24+
requests:
25+
storage: 100Gi
26+
storageClassName: default
27+
---
28+
kind: Deployment
29+
apiVersion: apps/v1
30+
metadata:
31+
name: smb-server
32+
spec:
33+
replicas: 1
34+
selector:
35+
matchLabels:
36+
app: smb-server
37+
template:
38+
metadata:
39+
name: smb-server
40+
labels:
41+
app: smb-server
42+
spec:
43+
containers:
44+
- name: smb-server
45+
image: dperson/samba
46+
env:
47+
- name: PERMISSIONS
48+
value: "0777"
49+
- name: USERNAME
50+
valueFrom:
51+
secretKeyRef:
52+
name: smbcreds
53+
key: username
54+
- name: PASSWORD
55+
valueFrom:
56+
secretKeyRef:
57+
name: smbcreds
58+
key: password
59+
args: ["-u", "$(USERNAME);$(PASSWORD)", "-s", "share;/smbshare/;yes;no;no;all;none", "-p"]
60+
volumeMounts:
61+
- mountPath: /smbshare
62+
name: data-volume
63+
ports:
64+
- containerPort: 445
65+
volumes:
66+
- name: data-volume
67+
persistentVolumeClaim:
68+
claimName: pvc-azuredisk-smbshare

hack/release-image.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ make smb-container
3030
make push
3131
make push-latest
3232

33-
echo "sleep 10s ..."
34-
sleep 10
33+
echo "sleep 20s ..."
34+
sleep 20
3535
image="mcr.microsoft.com/k8s/csi/smb-csi:latest"
3636
docker pull $image
3737
docker inspect $image | grep Created

0 commit comments

Comments
 (0)