Storage Solution - Getting Started
Kubernetes requires that at least 1 of the storage-class is available for storing data on the cluster, This is a mandatory step and requires the operator to decide well before deploying the production workload. Details provided are self-explanatory and should be considered according to the cluster usage.
Longhorn
Longhorn deployment is available at Longhorn Deployment Guide. This deployment model is for lighter scale cluster workloads and should be used with cautions that longhorn will require additional hardware specs for a production cluster. If this is only option, consider deploying the Longhorn on dedicated only in the cluster using node-affinity.
pros and cons
- stable for a single or multi-node cluster with a lighter load average
- works efficiently if deployed on dedicated node\
- easy to deploy and configure, provided by the Rancher, nice gui and some configurational advantages.
- not suitable for higher workload requiring local read or read intensive application as it depends on the underlying storage protocols and
- looses the PVC to PV binding under higher usage
OpenEBS
Deploying OpenEBS enables localhost storage as target devices and can only be used in below given scenarios.
- Deployment of statefulset using nodeSelectors. In this deployment model, each statefulset is confined to a particular node so that it always be running on the same node. However, this inverses the High Availability of the statefulset services in such a way that when 1 worker node goes down, all services will not be available until the node recovers.
- Deploy statefulset in High-level replication and use local disks on each node. this deployment model gives the flexibility of having at least 3 nodes available with completes services.
Details on OpenEBS can be read here.
pros and cons
- outstanding when using local-path or local-disk based storages
- performs unexpectedly when using OpenEBS cSTOR cloud-native Storage model
- less user friendly and requires a lot of storage concepts to deploy a fully floating storage cluster.
- mayastor is the ultimate storage engine but has low usage with more clauses. ( not used at EF )
In Progress
- Evaluating VMWare CSI driver for cloud-native storage
- Evaluating Rook/Ceph for Cloud native storage