Image | Build Status |
---|---|
iscsi-sheepdog-provisioner |
Runs as deployment.
Waits until PersistentVolumeClaims
will be created in Kubernetes.
Then creates new drives with needed parameters and announce them as PersistentVolume
in Kubernetes.
WARNING
Sheepdog is quite experimental storage, use it at your own risk.
-
Create service account and cluster role for your provisioner:
kubectl apply -f https://raw.githubusercontent.com/kvaps/kube-iscsi-loop/master/iscsi-sheepdog-provisioner/serviceaccount.yaml
-
Create sheepdog provisioner daemonset:
kubectl apply -f https://raw.githubusercontent.com/kvaps/kube-iscsi-loop/master/iscsi-sheepdog-provisioner/iscsi-sheepdog-provisioner.yaml
-
Check storageclass options section below, then create new storage class with your filesystem:
curl -o class.yaml -L https://raw.githubusercontent.com/kvaps/kube-iscsi-loop/master/iscsi-sheepdog-provisioner/class.yaml vim class.yaml kubectl apply -f class.yaml
-
Create example claim and example pod
kubectl apply -f https://raw.githubusercontent.com/kvaps/kube-iscsi-loop/master/iscsi-sheepdog-provisioner/claim.yaml kubectl apply -f https://raw.githubusercontent.com/kvaps/kube-iscsi-loop/master/iscsi-sheepdog-provisioner/test-pod.yaml
- PROVISIONER_NAME - Your provisioner identificator (default:
kvaps/sheepdog
)
- iqn - iqn for clients, it should be same like
IQN
variable for iscsi-sheepdog-publisher image (example:iqn.2018-09.org.loopback.sheepdog
) - lun - lun number, it should be same like
LUN
variable for iscsi-sheepdog-publisher image (default:1
) - address - sheepdog bind address (default:
127.0.0.1
) - port - sheepdog bind port (default:
7000
) - copies - number of replaces (default: as your cluster set)
- prealloc - preallocate drive (default:
false
) - hyper - create hyper volume (default:
false
) - block_size_shift - set block size shift (default: as your cluster set)