上一篇文章基于NFS后端存储搭建Harbor ,这一节来聊聊K8s
与CEPH
的对接以及基于CEPH Harbor
的构建。
因为资源的问题,测试环境仍然是K8s
的ALL-IN-ONE
环境,CEPH集群通过开源ROOK
来搭建,而Harbor
依然采用Helm
的安装方式。
1. CEPH集群的搭建
正常CEPH
集群的搭建可通过ceph-deploy、ceph-ansible
等工具来搭建,因为这里考虑到跟K8s
的对接最后是通过CNCF
下开源工具ROOK
来完成的。
1.1 部署ROOK系统
部署方式其实很简单,可参考如下步骤来完成:
# 下载rook源码,这里是使用的release-0.9分支
git clone -b release-0.9 https://github.com/rook/rook.git
cd rook/cluster/examples/kubernetes/ceph/
kubectl create -f operator.yaml
如此,部署成功后可以看到如下Pod
:
待这些Pod
都处于running
状态时即可开始CEPH
集群的搭建。
1.2 CEPH集群搭建
部署过程其实也很简单,首先依据自身环境修改rook/cluster/examples/kubernetes/ceph/cluster.yaml
文件,因为是在K8s集群搭建且只有一个节点,所以要做如下配置更改其实也就是对应cephcluster
资源的配置:
更新完成后保存,通过执行如下命令来开始搭建CEPH
集群:
cd rook/cluster/examples/kubernetes/ceph/
kubectl create -f cluster.yaml
首次搭建因为拉取镜像需要等待一段时间,我们可以通过命令watch "kubectl get pods -n rook-ceph"
来实时查看集群的构建状态,最终的呈现方式应该如下图所示:
搭建完成后不妨对ceph
集群做下简单测试。
1.3 测试
首先,我们需要创建StorageClass
和RBD POOL
:
cd cd rook/cluster/examp