doc: update samba server doc
This commit is contained in:
parent
6ee3075fc6
commit
16ebef9c5e
|
|
@ -2,8 +2,7 @@
|
|||
### Prerequisite
|
||||
- [Set up a Samba Server on a Kubernetes cluster](./smb-provisioner/)
|
||||
> this example will create a new Samba Server(`//smb-server.default.svc.cluster.local/share`) with credential stored in secret `smbcreds`
|
||||
- Use `kubectl create secret` to create `smbcreds` with Samba Server username, password
|
||||
> skip this if already done
|
||||
- Use `kubectl create secret` to create `smbcreds` secret to store Samba Server username, password
|
||||
```console
|
||||
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD"
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,37 +1,22 @@
|
|||
## Set up a Samba Server and a deployment to access Samba Server on a Kubernetes cluster
|
||||
This page will show you how to:
|
||||
- set up a Samba Server deployment on a Kubernetes cluster
|
||||
This page will show you how to set up a Samba Server deployment on a Kubernetes cluster.
|
||||
> file share data is stored on local disk.
|
||||
- set up a deployment to access Samba Server on a Kubernetes cluster
|
||||
|
||||
### Set up a Samba Server
|
||||
- Use `kubectl create secret` to create `smbcreds` with SMB username, password
|
||||
- Use `kubectl create secret` to create `smbcreds` secret to store Samba Server username, password
|
||||
```console
|
||||
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD"
|
||||
```
|
||||
|
||||
- Create a Samba Server deployment
|
||||
- Option#1. Create a Samba Server deployment on local disk
|
||||
> modify `/smbshare-volume` in deployment to specify different path for smb share data store
|
||||
```console
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/smb-server.yaml
|
||||
```
|
||||
|
||||
- Option#2. Create a Samba Server deployment on Azure data disk
|
||||
```console
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/smb-server-azuredisk.yaml
|
||||
```
|
||||
|
||||
After deployment, a new service `smb-server` is created, file share path is `//smb-server.default.svc.cluster.local/share`
|
||||
|
||||
### Create a deployment to access above Samba Server
|
||||
```console
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/smb-provisioner/pv-smb.yaml
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/pvc-smb-static.yaml
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/example/deployment.yaml
|
||||
```
|
||||
|
||||
- Verification
|
||||
```console
|
||||
# kubectl exec -it deployment-smb-646c5d579c-5sc6n bash
|
||||
root@deployment-smb-646c5d579c-5sc6n:/# df -h
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
...
|
||||
//smb-server.default.svc.cluster.local/share 97G 21G 76G 22% /mnt/smb
|
||||
/dev/sda1 97G 21G 76G 22% /etc/hosts
|
||||
...
|
||||
```
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
---
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: smb-server
|
||||
labels:
|
||||
app: smb-server
|
||||
spec:
|
||||
type: ClusterIP # use "LoadBalancer" to get a public ip
|
||||
selector:
|
||||
app: smb-server
|
||||
ports:
|
||||
- port: 445
|
||||
name: smb-server
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: pvc-azuredisk-smbshare
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storageClassName: default
|
||||
---
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: smb-server
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: smb-server
|
||||
template:
|
||||
metadata:
|
||||
name: smb-server
|
||||
labels:
|
||||
app: smb-server
|
||||
spec:
|
||||
containers:
|
||||
- name: smb-server
|
||||
image: dperson/samba
|
||||
env:
|
||||
- name: PERMISSIONS
|
||||
value: "0777"
|
||||
- name: USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: smbcreds
|
||||
key: username
|
||||
- name: PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: smbcreds
|
||||
key: password
|
||||
args: ["-u", "$(USERNAME);$(PASSWORD)", "-s", "share;/smbshare/;yes;no;no;all;none", "-p"]
|
||||
volumeMounts:
|
||||
- mountPath: /smbshare
|
||||
name: data-volume
|
||||
ports:
|
||||
- containerPort: 445
|
||||
volumes:
|
||||
- name: data-volume
|
||||
persistentVolumeClaim:
|
||||
claimName: pvc-azuredisk-smbshare
|
||||
|
|
@ -30,8 +30,8 @@ make smb-container
|
|||
make push
|
||||
make push-latest
|
||||
|
||||
echo "sleep 10s ..."
|
||||
sleep 10
|
||||
echo "sleep 20s ..."
|
||||
sleep 20
|
||||
image="mcr.microsoft.com/k8s/csi/smb-csi:latest"
|
||||
docker pull $image
|
||||
docker inspect $image | grep Created
|
||||
|
|
|
|||
Loading…
Reference in New Issue