前提
- 默认安装好了kubernetes集群
- 默认已经安装好了rook,安装rook参考上篇
rook安装及使用ceph rbd
- 注意: k8s out tree存储有两种方式csi及flexvolume,此文件使用flexvolume,不过csi才是未来。
创建文件系统
编排文件如下filesystem.yaml
,其中failureDomain为host且replicated是3时,则osd至少在3个主机上,即ceph至少需要三个存储主机。
1 | kind: CephFilesystem |
1 | kubectl apply -f filesystem.yaml |
deployment直接使用
此deployment中的pod共享文件目录,即/var/lib/registry在三个pod中是都可以读写的。编排文件registry.yaml
如下
1 | apiVersion: apps/v1 |
1 | kubectl apply -f registry.yaml |
通过pv及pvc使用
创建pv
pv编排文件如下pv.yaml
1 | apiVersion: v1 |
1 | kubectl apply -f pv.yaml |
创建pvc
pvc编排文件如下pvc.yaml
1 | apiVersion: v1 |
1 | kubectl apply -f pvc.yaml |
创建deployment
deployment编排文件如下registry2.yaml
1 | apiVersion: apps/v1 |
1 | kubectl apply -f registry2.yaml |
- 注意:虽然pv和pvc写了大小,但是在此文件系统中可用大于此值,无法做限制。