Design doc of FlexVolume plugin driver
Change-Id: I9424cfd520b0ca6218e8790cf432392f2635a55e
This commit is contained in:
parent
0678ee4ada
commit
49dc9ff29d
|
@ -18,8 +18,3 @@ Make Kubernetes integration with OpenStack storage
|
||||||
* Source: http://git.openstack.org/cgit/openstack/fuxi-kubernetes
|
* Source: http://git.openstack.org/cgit/openstack/fuxi-kubernetes
|
||||||
* Bugs: http://bugs.launchpad.net/fuxi-kubernetes
|
* Bugs: http://bugs.launchpad.net/fuxi-kubernetes
|
||||||
* Blueprints: https://blueprints.launchpad.net/fuxi-kubernetes
|
* Blueprints: https://blueprints.launchpad.net/fuxi-kubernetes
|
||||||
|
|
||||||
Features
|
|
||||||
--------
|
|
||||||
|
|
||||||
* TODO
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,46 @@
|
||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
FlexVolume Driver
|
||||||
|
=================
|
||||||
|
|
||||||
|
As the spec `[1]`_ introduced, FlexVolume `[2]`_ driver will implement the driver
|
||||||
|
interfaces of FlexVolume plugin to enable Kubelet to consume persistent
|
||||||
|
volumes. Each driver will be loaded when Kubelet starts and be used as
|
||||||
|
the standalone FlexVolume plugin, which means that Kubelet may start
|
||||||
|
several FlexVolume plugins and each plugin binds one driver.
|
||||||
|
|
||||||
|
In Fuxi-kubernetes, FlexVolume driver consists of four components.
|
||||||
|
|
||||||
|
.. figure:: ../../images/flex_volume_driver.png
|
||||||
|
:alt: FlexVolume Driver
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
1. **Driver**:
|
||||||
|
FlexVolume plugin will communicate with driver by 'call-out'. So, for plguin,
|
||||||
|
the driver should be an executable file which receives each command and
|
||||||
|
returns corresponding results. For Cinder and Manila, there is a shell
|
||||||
|
file for each of them to do this work respectively.
|
||||||
|
|
||||||
|
2. **Server**:
|
||||||
|
The real driver runs as a service and locates at the work node. It
|
||||||
|
calls Cinder and Manila to supply volume for Pod.
|
||||||
|
|
||||||
|
3. **Client**:
|
||||||
|
'Driver' will pass the commands to 'Service' via 'Client'.
|
||||||
|
|
||||||
|
4. **Host**:
|
||||||
|
The driver runs on the node which may be baremetal or vitual machine.
|
||||||
|
It needs to know the informations of work node to supply volume for Pod. 'Host'
|
||||||
|
stands for the work node and supply relevant informations, such as host name,
|
||||||
|
connector which is used to connect volumes.
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
----------
|
||||||
|
_`[1]`: https://docs.openstack.org/developer/kuryr-kubernetes/specs/pike/fuxi_kubernetes.html
|
||||||
|
|
||||||
|
_`[2]`: https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md
|
|
@ -0,0 +1,17 @@
|
||||||
|
Developer Guide
|
||||||
|
===============
|
||||||
|
|
||||||
|
Flex Volume Driver
|
||||||
|
------------------
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
flex_volume_driver
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
||||||
|
|
|
@ -16,6 +16,13 @@ Using
|
||||||
usage
|
usage
|
||||||
contributing
|
contributing
|
||||||
|
|
||||||
|
Developer Guide
|
||||||
|
===============
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
devref/index
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue