Dubs
Dubs

Reputation: 666

Kubernetes volume for production

We need to made volume to be managed easily. We ned to use PV volume, but we want to be able to start volume on any node, and data not stored on node (if node crash no problems in this way) so we think about flocker with Ceph backend. What's the best solution for production ?

Upvotes: 1

Views: 574

Answers (2)

Jeff Vance
Jeff Vance

Reputation: 11

Typically Ceph will be run in its own cluster. There are some examples of ceph running in a container (with more work to be done), and in that case, Ceph and your app could share kubernetes nodes.

Upvotes: 1

Stephen Watt
Stephen Watt

Reputation: 36

Flocker is not required. The functionality you are seeking is what Kubernetes Volume Plugins provide.

The way to think about a Kubernetes Persistent Volume (PV) is that it is a configuration object that stores information about a specific network storage asset. When a user submits a claim, assuming it finds a match, it will bind to one of the Persistent Volumes in the pool of available Persistent Volumes. This means your claim is bound to an object that contains information about a specific network storage asset.

When a claim is specified in a Pod or RC, the runtime is able to ascertain the PV bound to the claim and then ascertain which Kubernetes Volume Plugin to use and what parameters to pass itm based on the properties of the PV.

As such, wherever your Pods run in the cluster, they will be able to perform a network mount of the storage asset described in the PV. None of this data will be local. The pod can die and be restarted on any node in the cluster and it will reconnect to the same network storage asset specified in the PV.

Any Kubernetes Volume Plugin, with the exception of EmptyDir and HostPath, can be specified in a Persistent Volume Definition. So you could create a PV that uses the Ceph RBD volume plugin and you would have the functionality that you seek.

Upvotes: 2

Related Questions