mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 02:50:30 +00:00
CSI driver for Ceph
022a5a4db0
Signed-off-by: Huamin Chen <hchen@redhat.com> |
||
---|---|---|
deploy | ||
examples | ||
pkg/rbd | ||
rbd | ||
vendor | ||
.gitignore | ||
.travis.yml | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE | ||
Makefile | ||
README.md |
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