Dothill (Seagate) AssuredSAN provisioner for Kubernetes
A dynamic persistent volume (PV) provisioner for Dothill AssuredSAN based storage systems.
Developped and tested on HPE MSA2050 series.
Should work with its rebrands like :
- Lenovo S2200/ThinkSystem DS Series
- HPE MSA2000/P2000/MSA2040/MSA2050 Series
- Dell EMC PowerVault ME4 Series
- Quantum StorNex
- ...
Quickstart
Install ISCSI and multipath on your node(s)
apt install open-iscsi multipath-tools
yum -y install iscsi-initiator-utils device-mapper-multipath
Deploy the provisioner to your cluster
As the image is on a private registry for now, make sure you have a secret named regcred accessible from the kube-system namespace that allows to pull from docker-registry.enix.io.
kubectl apply -f deploy/
Create a secret containing the Dothill API credentials
Make sure to update the username and password in the file before blindly running this!
kubectl apply -f example/secret.yml
Create the storage class
Again, open the file and update all the fields so it match your configuration.
kubectl apply -f example/storageclass.yml
Run a test pod
To make sure everything went well, there's a example pod you can deploy in the example/ directory. If the pod reach the Running status, you're good to go!
kubectl apply -f example/pod.yml
Command-line arguments
You can have a list of all available command line flags using the -help switch.
Logging
Logging can be modified using the -v flag :
-v 0 : Almost no logs (default if not specified)
-v 1 : Standard logs to follow what's going on
-v 2 : Debug logs (quite awful to see)
By default the rc image is launched with -v 1. For advanced logging configuration, see klog.
Configuration
By default, the provider will connect to the cluser by retreiving it's configuration from inside (e.g. by using KUBERNETES_SERVICE_HOST and data mounted in /var/run), which mean it won't work if the provisioner is not running inside a pod.
If you need to run this from outside your cluster, you can use the -kubeconfig path/to/your/.kube/config flag to override the default configuration.