CSI driver for Ceph
Go to file
Huamin Chen 022a5a4db0 update readme and deployment
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-02-06 18:40:54 +00:00
deploy update readme and deployment 2018-02-06 18:30:05 +00:00
examples update readme and deployment 2018-02-06 18:40:54 +00:00
pkg/rbd rbd plugin refactoring: remove k8s clientSet 2018-02-06 14:36:58 +00:00
rbd rbd plugin refactoring: remove k8s clientSet 2018-02-06 14:36:58 +00:00
vendor just code files 2018-01-15 11:50:50 -05:00
.gitignore add git ignore 2018-01-17 15:38:09 -05:00
.travis.yml rename travis 2018-01-10 18:27:56 +00:00
Gopkg.lock just code files 2018-01-15 11:50:50 -05:00
Gopkg.toml just code files 2018-01-15 11:50:50 -05:00
LICENSE add Apache License 2018-01-10 16:12:00 +00:00
Makefile tune Makefile: clean binary; make static binary 2018-01-18 14:01:24 +00:00
README.md update readme and deployment 2018-02-06 18:40:54 +00:00

Ceph CSI

Container Storage Interface (CSI) driver, provisioner, and attacher for Ceph RBD and CephFS

Prerequisite

Enable Mount Propagation in Docker

Comment out MountFlags=slave in docker systemd service then restart docker service.

# systemctl daemon-reload
# systemctl restart docker

Enable Kubernetes Feature Gates

Enable features MountPropagation=true,CSIPersistentVolume=true and runtime config storage.k8s.io/v1alpha1=true

Build

# make container

Test

Start rbdplugin and driver registrar

# kubectl create -f deploy/kubernetes/rbdplugin.yaml

Start CSI external volume provisioner

# kubectl create -f deploy/kubernetes/csi-provisioner.yaml

Start CSI external volume attacher

# kubectl create -f deploy/kubernetes/csi-attacher.yaml

Verify all componets are ready

# kubectl get pod
NAME                             READY     STATUS    RESTARTS   AGE
csi-attacher-0                   1/1       Running   0          6s
csi-nodeplugin-rbdplugin-kwhhc   2/2       Running   0          6m
csi-provisioner-0                1/1       Running   0          1m

Create a CSI storage class

Replace Ceph mon and secrets in examples/sc.yaml

# kubectl create -f examples/sc.yaml

Create a PVC

# kubectl create -f examples/pvc.yaml

Create a Pod

# kubectl create -f examples/pod.yaml