Rook-Ceph CRD 配置详解¶
概述¶
Rook-Ceph 是一个开源的云原生存储编排器,它通过自定义资源定义(CRD)来管理和配置 Ceph 存储集群。本文将详细介绍 Rook-Ceph CRD 的主要配置选项和使用方法。
集群部署模式¶
Rook-Ceph 支持四种主要的集群部署模式:
- Host Storage Cluster
- 使用主机路径和原始设备作为存储
-
适合直接使用物理存储设备
-
PVC Storage Cluster
- 通过 PVC 动态配置存储
-
使用存储类来管理底层存储
-
Stretched Storage Cluster
- 在三个区域分布 Ceph MON
- 存储(OSD)仅在两个区域配置
-
适合跨区域部署
-
External Ceph Cluster
- 连接外部 Ceph 集群
- 允许 K8s 应用使用外部 Ceph 存储
核心配置参数¶
1. 集群元数据¶
metadata:
name: rook-ceph
namespace: rook-ceph
2. 集群设置¶
spec:
cephVersion:
image: quay.io/ceph/ceph:v19.2.1
allowUnsupported: false
dataDirHostPath: /var/lib/rook
skipUpgradeChecks: false
3. 存储配置¶
spec:
storage:
useAllNodes: true
useAllDevices: false
deviceFilter: "^sd[a-z]"
config:
osdsPerDevice: "1"
4. 监控配置¶
spec:
monitoring:
enabled: true
rulesNamespace: rook-ceph
5. 仪表盘配置¶
spec:
dashboard:
enabled: true
urlPrefix: /ceph-dashboard
port: 8443
ssl: true
高级配置选项¶
1. 清理策略¶
spec:
cleanupPolicy:
confirmation: ""
sanitizeDisks:
method: quick
dataSource: zero
iteration: 1
allowUninstallWithVolumes: false
2. Ceph 配置¶
spec:
cephConfig:
global:
osd_pool_default_size: "3"
mon_warn_on_pool_no_redundancy: "false"
"osd.*":
osd_max_scrubs: "10"
3. CSI 驱动选项¶
spec:
csi:
readAffinity:
enabled: false
crushLocationLabels: []
cephfs:
kernelMountOptions: ""
fuseMountOptions: ""
OSD 拓扑配置¶
1. 节点标签层级¶
topology.kubernetes.io/region
topology.kubernetes.io/zone
topology.rook.io/datacenter
topology.rook.io/room
topology.rook.io/pod
topology.rook.io/pdu
topology.rook.io/row
topology.rook.io/rack
topology.rook.io/chassis
2. 故障域配置¶
apiVersion: ceph.rook.io/v1
kind: CephBlockPool
metadata:
name: replicapool
namespace: rook-ceph
spec:
failureDomain: rack
replicated:
size: 3
集群状态监控¶
1. 健康状态¶
status:
health: HEALTH_OK
message: Cluster is healthy
phase: Ready
2. 存储状态¶
status:
storage:
deviceClasses:
- ssd
- hdd
最佳实践¶
- 版本管理
- 使用特定版本的 Ceph 镜像
-
避免使用通用标签(如 v19)
-
存储配置
- 合理设置 OSD 数量
-
正确配置故障域
-
监控告警
- 启用监控功能
-
配置适当的告警规则
-
安全配置
- 启用 SSL
- 配置适当的访问控制
注意事项¶
- 删除集群时,确保没有其他资源引用该集群
- 修改配置后,需要等待集群状态更新
- 定期备份重要数据
- 监控集群健康状态
- 遵循 Ceph 最佳实践
故障排除¶
- 检查集群状态
- 查看日志信息
- 验证配置参数
- 检查网络连接
- 确认存储设备状态