前期准备
对接方式
有两种方式可以使用k8s对接ceph
- 使用第三方的rbd provisioner,但是由于官方已经不再进行维护因此随着版本越来越高,其对应的rbd provisioner内置的ceph-common版本已经跟不上ceph的版本了,现在其内置的ceph-common版本是m版,如果集群是m版可以考虑使用
- 使用官方的ceph csi,一直在更新,推荐使用,本文使用的就是该种方法
ceph-csi版本选择
一定要记得k8s的版本与ceph-csi对应!否则会有很多bug
现阶段对应ceph csi与k8s版本对应如下:
对于ceph集群最好是N版以及更高的版本
选择对应版本之后,仓库版本也要进行选择,比如我此次选择的是3.5.1版本,那么仓库版本需要选择3.5版本
不要git clone代码,我们用到的就是deploy
目录下的内容
镜像源
国内的推荐:
搭建环境(以RBD为例)
-
将
ceph-csi/deploy/rbd/kubernetes/
下的所有yaml文件拷贝到本地 -
创建
csi-config-map.yaml
clusterID就是集群ID,
ceph -s
即可获得--- apiVersion: v1 kind: ConfigMap data: config.json: |- [ { "clusterID": "2a5306a8-885f-40b7-91f6-ec9410b53d3c"