Skip to content

MochaCaffe/rozofs-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

Rozofs Provisioner

This project is a functional implementation of Rozofs distributed filesystem on Kubernetes.
It features a daemonset to bring up Rozofs daemons on all kubernetes nodes, and a deployment to bring up a provisioner for dynamic Rozofs volume provisioning.

About Rozofs

Wiki: http://rozofs.github.io/rozofs/master/AboutRozoFS.html
Github: https://github.com/rozofs/rozofs

Requirements

  • Each node runs systemd
  • rpcbind & jq have to be installed on each node

Deployment:

$ EXPORTNODE="<export_node>"
$ CLUSTER="<node1> <node2> <node3> <node4> <...>"
$ kubectl create configmap rozofs-cluster --from-literal=clusternodes="${CLUSTER}" --from-literal=exportnode="${EXPORTNODE}"
$ kubectl apply -f https://github.com/MochaCaffe/rozofs-provisioner/raw/master/deploy/daemonset.yaml
  • Deploy the provisioner:
$ kubectl apply -f https://github.com/MochaCaffe/rozofs-provisioner/raw/master/deploy/provisioner.yaml

A storage class called "rozofs" is automatically created with the provisioner.

Create a persistent volume claim

The provisioner watches for Persistent Volume Claims (PVC) that request a new Persistent Volume, and automatically provisions a new volume to be binded with the claim, using "rozofs" Storage Class.
A Persistent Volume defines mount instructions for the FlexVolume plugin.

  • Create a PVC
$ kubectl apply -f https://github.com/MochaCaffe/rozofs-provisioner/raw/master/deploy/claim.yaml
  • Then, mount the volume into a light pod:
$ kubectl apply -f https://github.com/MochaCaffe/rozofs-provisioner/raw/master/deploy/test-pod.yaml

Credits

About

Rozofs provisioner for Kubernetes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published