使用 K8S 几年后,这些技术专家有话要说(17)

经分析可知:一方面,Harbor 切换了对象存储之后,它在与 docker 交互的过程中会采用一个重镜像的技术,这样流量就从 Harbor 切换到对象存储的服务里面来,Harbor 就不需要中转数据,节省了 Harbor 自己的一些资源以及时间。另一方面,数据由 Harbor 切到对象存储之后,流量瓶颈和并发瓶颈就由 Harbor 转到了对象存储,所以,基于上面的两个原因,就导致了 Harbor 在切换对象存储之后,它的性能有了一个质的提升。

还有比较重要的一点是关于 ceph 文件系统的备份还原。对于 Harbor 的 ceph 文件系统来说,Harbor 的数据实际上是落地在文件系统的某一个路径上,这里备份的原理就很简单:通过 PV 获取到它的路径,然后把这个路径 mount 到本地的文件系统,通过这个文件系统进行一个压缩或者备份。文件系统的还原就是刚才备份的一个逆过程,只需要把备份的数据打入到刚才 mount 的文件系统里面就可以了。

对于 ceph 的对象存储来说,它的备份还原的原理实际上是一样的,但是它的具体实现就有点区别:因为对于对象存储来说,它的数据不是保存在某个路径下,而是保存在对象存储的 bucket 的概念中,所以如果要对 Harbor 的对象存储进行备份还原,就需要对这个对象存储中 Harbor 所对应的 bucket 数据进行备份还原。

推荐阅读