ClusterHQ / ceph-flocker-driver

A Ceph RBD driver for Flocker
https://clusterhq.com
Apache License 2.0
25 stars 13 forks source link

Ceph RBD Plugin for ClusterHQ/flocker

This a Ceph Rados Block Device driver for Flocker, a container data orchestration system.

Note: This driver is WIP.

You may use the Ceph driver from ClusterHQ but keep in mind it is still being worked on. Thank you for your interest and please file issues and PRs to help us work toward a release.

Installation

Make sure you have Flocker already installed. If not visit Install Flocker

Be sure to use /opt/flocker/bin/python as this will install the driver into the right python environment

Install using python

git clone https://github.com/ClusterHQ/flocker-ceph-driver
cd flocker-ceph-driver/
sudo /opt/flocker/bin/python setup.py install

Be sure to use /opt/flocker/bin/pip as this will install the driver into the right python environment

Install using pip

git clone https://github.com/ClusterHQ/flocker-ceph-driver
cd flocker-ceph-driver/
/opt/flocker/bin/pip install flocker-ceph-driver/

Note: Thank you for EMC for providing their ScaleIO driver on which this work was based: https://github.com/emccorp/scaleio-flocker-driver

Configuration

Reminder that this project is still under development, but if you want to install and use it from the master branch, do the following:

This assumes you already have a ceph cluster set up, and that rbd can be run from the command line on all of your agent nodes.

On every agent node you need to install this driver into the python environment in which flocker runs:

/opt/flocker/bin/pip install git+https://github.com/ClusterHQ/ceph-flocker-driver.git@master

Then you need to set up your agent.yml to be configured to use this driver:

version: 1
  control-service:
    hostname: "user.controlserver.example.com"
  dataset:
    backend: "ceph_flocker_driver"
    cluster_name: "Ceph cluster name, defaults to ''"
    user_id: "Ceph user ID, defaults to 'admin'"
    ceph_conf_path: "path to ceph conf for rados, defaults to '/etc/ceph/ceph.conf'"
    storage_pool: "name of storage pool to use, defaults to 'rbd'"