基于 K8S 搭建 Ceph 分布式存储 前提 正常运行的多节点 K8S 集群,可以是两个节点也可以是更多。 每一个节点需要一个没有被分区的硬盘,最好大小一致不然会浪费。 没错其实就是一个要求,必须有集群才能进行容器管理,必须有硬盘才能做存储这些都是基础。 添加硬盘 主机 IP 磁盘 master01 10.12.12.51 SATA 20G master02 10.12.12.52 SATA 20G master03 10.12.12.53 SATA 20G worker01 10.12.12.54 SATA 20G worker02 10.12.12.55 SATA 20G 在 5 个节点都加 20g 存储
重启 k8s 节点 1kubectl cordon <节点> 2kubectl drain <节点> --ignore-daemonsets --delete-emptydir-data 3# 虚拟机重启后 4kubectl uncordon <节点> 查看新增存储 1fdisk -l 看到新增 20g 存储,不要格式化分区硬盘!!!
1Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors 2Disk model: QEMU HARDDISK 3Units: sectors of 1 * 512 = 512 bytes 4Sector size (logical/physical): 512 bytes / 512 bytes 5I/O size (minimum/optimal): 512 bytes / 512 bytes ROOK 自动创建 Rook 是一个开源的cloud-native storage编排, 提供平台和框架;为各种存储解决方案提供平台、框架和支持,以便与云原生环境本地集成。 Rook 将存储软件转变为自我管理、自我扩展和自我修复的存储服务,它通过自动化部署、引导、配置、置备、扩展、升级、迁移、灾难恢复、监控和资源管理来实现此目的。 Rook 使用底层云本机容器管理、调度和编排平台提供的工具来实现它自身的功能。 Rook 目前支持Ceph、NFS、Minio Object Store和CockroachDB。 Rook 使用Kubernetes原语使Ceph存储系统能够在Kubernetes上运行。 下载 1git clone https://github.