If you are using a released version of Kubernetes, you should refer to the docs that go with that version.
The latest release of this document can be found [here](http://releases.k8s.io/release-1.1/examples/mysql-cinder-pd/README.md).Documentation for other releases can be found at releases.k8s.io.
Cinder is a Block Storage service for OpenStack. This example shows how it can be used as an attachment mounted to a pod in Kubernets.
Start kubelet with cloud provider as openstack with a valid cloud config Sample cloud_config:
[Global]
auth-url=https://os-identity.vip.foo.bar.com:5443/v2.0
username=user
password=pass
region=region1
tenant-id=0c331a1df18571594d49fe68asa4e
Currently the cinder volume plugin is designed to work only on linux hosts and offers ext4 and ext3 as supported fs types Make sure that kubelet host machine has the following executables
/bin/lsblk -- To Find out the fstype of the volume
/sbin/mkfs.ext3 and /sbin/mkfs.ext4 -- To format the volume if required
/usr/bin/udevadm -- To probe the volume attached so that a symlink is created under /dev/disk/by-id/ with a virtio- prefix
Ensure cinder is installed and configured properly in the region in which kubelet is spun up
Create a cinder volume Ex:
cinder create --display-name=test-repo 2
Use the id of the cinder volume created to create a pod definition Create a new pod with the definition
cluster/kubectl.sh create -f examples/mysql-cinder-pd/mysql.yaml
This should now
- Attach the specified volume to the kubelet's host machine
- Format the volume if required (only if the volume specified is not already formatted to the fstype specified)
- Mount it on the kubelet's host machine
- Spin up a container with this volume mounted to the path specified in the pod definition