mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 14:30:12 +01:00
chore(doc): updating README with volume property usage
Signed-off-by: Pawan <pawan@mayadata.io>
This commit is contained in:
parent
b33542eee2
commit
0ca8141f0f
1 changed files with 85 additions and 4 deletions
89
README.md
89
README.md
|
|
@ -63,6 +63,9 @@ Once ZFS driver is installed we can provision a volume.
|
||||||
|
|
||||||
1. create a Storage class
|
1. create a Storage class
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cat sc.yaml
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: storage.k8s.io/v1
|
apiVersion: storage.k8s.io/v1
|
||||||
kind: StorageClass
|
kind: StorageClass
|
||||||
|
|
@ -85,6 +88,9 @@ Here we have to give the provisioner as "openebs.io/zfs" which is the provisione
|
||||||
|
|
||||||
2. create a PVC
|
2. create a PVC
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cat pvc.yaml
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|
@ -101,7 +107,23 @@ spec:
|
||||||
|
|
||||||
Create a PVC using the storage class created with the openebs.io/zfs provisioner.
|
Create a PVC using the storage class created with the openebs.io/zfs provisioner.
|
||||||
|
|
||||||
3. Deploy the application using this PVC
|
3. Check the kubernetes resource is created for the corresponding zfs volume
|
||||||
|
|
||||||
|
```
|
||||||
|
$ kubectl get zv -n openebs
|
||||||
|
NAME NODE SIZE
|
||||||
|
pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9 4294967296
|
||||||
|
```
|
||||||
|
|
||||||
|
Here note that NODE field will be empty as application POD has not yet deployed.
|
||||||
|
When application will be deployed, as a part of deploying the application the ZFS
|
||||||
|
driver will create the zfs volume of name pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9
|
||||||
|
in the pool mentioned in the storage class.
|
||||||
|
|
||||||
|
4. Deploy the application using this PVC
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cat fio.yaml
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|
@ -117,7 +139,7 @@ spec:
|
||||||
- key: kubernetes.io/hostname
|
- key: kubernetes.io/hostname
|
||||||
operator: In
|
operator: In
|
||||||
values:
|
values:
|
||||||
- gke-user-zfspv-default-pool-fb71317f-rgcm
|
- k8s-virtual-machine
|
||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
containers:
|
containers:
|
||||||
- name: perfrunner
|
- name: perfrunner
|
||||||
|
|
@ -147,15 +169,74 @@ when application is deployed to the node.
|
||||||
$ zfs list
|
$ zfs list
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
zfspv-pool 4.25G 92.1G 96K /zfspv-pool
|
zfspv-pool 4.25G 92.1G 96K /zfspv-pool
|
||||||
zfspv-pool/pvc-f52058b7-da1c-11e9-80e0-42010a800fcd 4.25G 96.4G 5.69M -
|
zfspv-pool/pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9 4.25G 96.4G 5.69M -
|
||||||
|
```
|
||||||
|
Also we can check the kubernetes resource for the corresponding zfs volume
|
||||||
|
|
||||||
|
```
|
||||||
|
$ kubectl get zv -n openebs
|
||||||
|
NAME NODE SIZE
|
||||||
|
pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9 k8s-virtual-machine 4294967296
|
||||||
|
|
||||||
|
$ kubectl describe zv pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9 -n openebs
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
Name: pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9
|
||||||
|
Namespace: openebs
|
||||||
|
Labels: kubernetes.io/nodename=k8s-virtual-machine
|
||||||
|
Annotations: <none>
|
||||||
|
API Version: openebs.io/v1alpha1
|
||||||
|
Kind: ZFSVolume
|
||||||
|
Metadata:
|
||||||
|
Creation Timestamp: 2019-09-20T05:33:52Z
|
||||||
|
Finalizers:
|
||||||
|
zfs.openebs.io/finalizer
|
||||||
|
Generation: 2
|
||||||
|
Resource Version: 20029636
|
||||||
|
Self Link: /apis/openebs.io/v1alpha1/namespaces/openebs/zfsvolumes/pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9
|
||||||
|
UID: 3b20990a-db68-11e9-bbb6-000c296e38d9
|
||||||
|
Spec:
|
||||||
|
Blocksize: 4k
|
||||||
|
Capacity: 4294967296
|
||||||
|
Compression: off
|
||||||
|
Dedup: off
|
||||||
|
Owner Node ID: k8s-virtual-machine
|
||||||
|
Pool Name: zfspv-pool
|
||||||
|
Thin Provison: no
|
||||||
|
Events: <none>
|
||||||
```
|
```
|
||||||
|
|
||||||
4. for deprovisioning the volume we can delete the application which is using
|
5. ZFS Volume Property Change like compression on/off can be done by just simply
|
||||||
|
editing the kubernetes resource for the corresponding zfs volume by using below command :
|
||||||
|
|
||||||
|
```
|
||||||
|
kubectl edit zv pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9 -n openebs
|
||||||
|
```
|
||||||
|
|
||||||
|
You can edit the relevant property like make compression on or make dedup on and save it.
|
||||||
|
This property will be applied to the corresponding volume and can be verified using
|
||||||
|
below command on the node:
|
||||||
|
|
||||||
|
```
|
||||||
|
zfs get all zfspv-pool/pvc-37b07ad6-db68-11e9-bbb6-000c296e38d9
|
||||||
|
```
|
||||||
|
|
||||||
|
6. for deprovisioning the volume we can delete the application which is using
|
||||||
the volume and then we can go ahead and delete the pv, as part of deletion of
|
the volume and then we can go ahead and delete the pv, as part of deletion of
|
||||||
pv this volume will also be deleted from the ZFS pool and data will be freed.
|
pv this volume will also be deleted from the ZFS pool and data will be freed.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ kubectl delete -f fio.yaml
|
||||||
|
pod "fio" deleted
|
||||||
|
$ kubectl delete -f pvc.yaml
|
||||||
|
persistentvolumeclaim "csi-zfspv" deleted
|
||||||
|
```
|
||||||
|
|
||||||
### Supported System
|
### Supported System
|
||||||
|
|
||||||
K8S : 1.14+
|
K8S : 1.14+
|
||||||
|
|
||||||
OS : ubuntu 18.04
|
OS : ubuntu 18.04
|
||||||
|
|
||||||
ZFS : 0.7, 0.8
|
ZFS : 0.7, 0.8
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue