Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 1.29 KB

README.md

File metadata and controls

36 lines (25 loc) · 1.29 KB

Kubernetes external FLEX provisioner

This is an example external provisioner for kubernetes meant for use with FLEX based volume plugins. The provisioner runs in a pod, so the shell script which provisions/deletes the volumes must also be included in the POD's container (and not on the host).

First Steps

Before building and packaging this, you need to include the shell script which flex will use for provisioning. The shell script path must match what's in the provisioning container.

The current example is in flex/deploy/docker and is specified in examples/pod-provisioner.yaml here: - "-execCommand=/opt/storage/flex-provision.sh" If you copy in a new file or change the path, update the flag in the pod yaml.

To Build

make

To Deploy

You can use the example provisioner pod to deploy:

mkdir -p /usr/libexec/kubernetes/kubelet-plugins/volume/exec/flex
cp deploy/flex-provision.sh /usr/libexec/kubernetes/kubelet-plugins/volume/exec/flex/flex
chmod ugo+x /usr/libexec/kubernetes/kubelet-plugins/volume/exec/flex/flex

kubectl create -f deploy/manifests/pod-provisioner.yaml \
               -f deploy/manifests/rbac.yaml \
               -f deploy/manifests/sc.yaml

You can test it with:

kubectl create -f examples/pvc.yaml -f examples/pod-application.yaml