跳转至

Rook-Ceph CRD 配置详解

概述

Rook-Ceph 是一个开源的云原生存储编排器,它通过自定义资源定义(CRD)来管理和配置 Ceph 存储集群。本文将详细介绍 Rook-Ceph CRD 的主要配置选项和使用方法。

集群部署模式

Rook-Ceph 支持四种主要的集群部署模式:

  1. Host Storage Cluster
  2. 使用主机路径和原始设备作为存储
  3. 适合直接使用物理存储设备

  4. PVC Storage Cluster

  5. 通过 PVC 动态配置存储
  6. 使用存储类来管理底层存储

  7. Stretched Storage Cluster

  8. 在三个区域分布 Ceph MON
  9. 存储(OSD)仅在两个区域配置
  10. 适合跨区域部署

  11. External Ceph Cluster

  12. 连接外部 Ceph 集群
  13. 允许 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

最佳实践

  1. 版本管理
  2. 使用特定版本的 Ceph 镜像
  3. 避免使用通用标签(如 v19)

  4. 存储配置

  5. 合理设置 OSD 数量
  6. 正确配置故障域

  7. 监控告警

  8. 启用监控功能
  9. 配置适当的告警规则

  10. 安全配置

  11. 启用 SSL
  12. 配置适当的访问控制

注意事项

  1. 删除集群时,确保没有其他资源引用该集群
  2. 修改配置后,需要等待集群状态更新
  3. 定期备份重要数据
  4. 监控集群健康状态
  5. 遵循 Ceph 最佳实践

故障排除

  1. 检查集群状态
  2. 查看日志信息
  3. 验证配置参数
  4. 检查网络连接
  5. 确认存储设备状态

参考文档

回到页面顶部