4. Open service broker support local PV for Kubernetes
Currently, we are moving more and move applications to Kubernetes, but for Data Base applications which depend on IO performance, will get bad experience using shared storage like GlusterFS, Ceph. even Kubernetes support local PV storage class, but still does not support dynamic provision for persistent volume.
4.1. Solution
With the ability of remote execute commands by App Mesh, we can design a real local PV for docker container, this will improve container IO performance and gain the local storage performance.
We usually manage applications on Kubernetes follow Open Service Broker API, and implement Service Broker
for each kind of applications, the application launch process will be handled in Service Broker
.
Service Broker accept a instance create request with requested resource
Service Broker schedule a dummy YAML with request requirement (plus local PV node label)
When Kubernetes finished schedule dummy YAML, create corresponding Local PV remotely
Service Broker create real multiple Application YAML with
Daemon Set
to make sure new container schedule to local PV nodeDelete dummy YAML
When broker instance destroying, clean remote PV accordingly