云原生-基于k8s部署-分布式底层存储-Rook-Ceph
分布式存储系统是一个有效的解决有状态工作负载高可用问题的方案。Ceph 就是一个分布式存储系统,近年来其影响主键扩大。Rook 是一个编排器,能够支持包括 Ceph 在内的多种存储方案。Rook 简化了 Ceph 在 Kubernetes 集群中的部署过程。 本教程基于rook1.8.1实现,已经过物理机、虚拟机、单硬盘osd、多硬盘osd、稳定性测试等多重验证。 本教程包含rook-ceph配置详解、部署、卸载、cephfs使用教程等 云原生技术正在推动数据中心和应用架构的变革,其中基于Kubernetes(K8s)的自动化部署和管理是核心组成部分。分布式存储系统如Ceph在处理有状态工作负载的高可用性和扩展性方面表现出色,尤其适合大规模分布式环境。Rook作为一款开源的存储编排器,使得Ceph和其他存储解决方案能更好地融入Kubernetes生态系统,简化了在K8s集群中的部署和管理。 在本教程中,我们将详细介绍如何使用Rook v1.8.1来部署和管理Ceph分布式存储系统。确保你的环境已经准备好了K8s集群,所有节点版本为v1.20.10。至少需要三台工作节点,每台节点配备一块硬盘,用于构建Ceph的三副本存储池。 开始安装前,你需要拉取Rook项目的源码,并进入ceph配置目录。配置`operator.yaml`以避免使用默认的镜像地址。接着,部署Rook的Operator,给OSD(对象存储设备)节点打上标签并验证。创建Ceph集群时,你需要先设置一个Secret,因为当前版本的Ceph存在bug,需要在创建Cluster之后再删除Secret以确保后续操作成功。 接下来,你可以安装Rook的Toolbox,这是一个方便的命令行工具,用于检查和管理Ceph集群。通过这个工具,你可以查看集群状态、监控安装进度、配置Ceph-Dashboard以及进行硬盘格式化和Osd的添加或删除等操作。 在使用过程中,可能会遇到一些问题,例如删除集群时卡住,这时可以按照教程提供的命令进行操作。对于CephFS(文件存储)和RBD(块存储)的使用,教程详细说明了如何创建存储类(StorageClass)、动态分配存储以及测试存储性能。同时,教程还提供了将K8s的默认存储设置为CephFS的步骤。 在卸载Rook-Ceph集群时,务必先清理相关Pod,然后在主节点上删除Operator和相关CRD(CustomResourceDefinition)。同时,要谨慎地清除集群主机上的Ceph数据和硬盘设备,因为这可能导致数据丢失,务必在此之前做好备份。 本教程特别强调,由于涉及硬盘操作,因此在执行任何可能导致数据丢失的操作时需格外小心。每个步骤都经过了物理机、虚拟机、单硬盘OSD、多硬盘OSD以及稳定性测试的验证,确保了内容的实用性和可靠性。通过这个教程,读者将能够深入了解如何在Kubernetes环境中利用Rook部署和管理Ceph分布式存储,从而实现高效、可靠的云原生存储解决方案。