ceph使用的rbd提供块存储,kubernetes的存储方式是存储类(storageclass)。
这里采用rook提供的storageclass.yaml来创建基于ceph的存储类。关于rook见以下链接:使用rook在kubernetes集群中部署ceph
[root@master rbd]# cd /root/rook/deploy/examples/csi/rbd[root@master rbd]# lspod-ephemeral.yaml pod.yaml pvc-clone.yaml pvc-restore.yaml pvc.yaml snapshotclass.yaml snapshot.yaml storageclass-ec.yaml storageclass-test.yaml storageclass.yaml#执行rook自带的创建ceph rbd 存储类的yaml,创建存储类[root@master rbd]# kubectl create -f storageclass.yaml cephblockpool.ceph.rook.io/replicapool createdstorageclass.storage.k8s.io/rook-ceph-block created#存储类创建成功[root@master rbd]# kubectl get sc -n rook-cephNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGErook-ceph-block rook-ceph.rbd. DeleteImmediate true 20s#测试存储类是否可以直接创建pvc,不需要提前创建pv[root@master rbd]# kubectl get pvc -ANo resources found[root@master rbd]# kubectl get pv -ANo resources found[root@master rbd]# kubectl create -f pvc.yaml persistentvolumeclaim/rbd-pvc created#可以看到pv和pvc已经创建好了,且已经自动绑定了[root@master rbd]# kubectl get pv -ANAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASSREASON AGEpvc-0760d1b6-e301-4f09-80d0-471ea705a34f 1Gi RWO Delete Bound default/rbd-pvc rook-ceph-block 3m47s[root@master rbd]# kubectl get pvc -ANAMESPACE NAMESTATUS VOLUME CAPACITY ACCESS MODES STORAGECLASSAGEdefaultrbd-pvc Bound pvc-0760d1b6-e301-4f09-80d0-471ea705a34f 1Gi RWO rook-ceph-block 2s[root@master rbd]#
接下来使用基于ceph的存储类在kubernetes中搭建wordpress。