Kubernetes(k8s) 中如何使用 Ceph 存储来管理 PersistentVolume(PV)?
xingling22:在 Kubernetes 中使用 Ceph 存储管理 PersistentVolume(PV),需创建基于 Ceph RBD 或 CephFS 的 StorageClass,并在 PersistentVolumeClaim(PVC)中引用。通过动态供应(Dynamic Provisioning),PVC 请求会自动创建对应 PV 和 Ceph 存储资源。
延伸知识点:Ceph RBD StorageClass 配置细节
Ceph RBD 通过 StorageClass 实现动态供应,其核心参数包括:
provisioner: 指定为 kubernetes.io/rbd;
monitors: Ceph 集群 Monitor 节点地址列表(如 10.0.0.1:6789,10.0.0.2:6789);
pool: RBD 存储池名称;
adminId 和 userId: Ceph 用户权限(需提前创建);
adminSecretName 和 userSecretName: 存储认证信息的 Secret,需预先通过 ceph auth get-key 获取密钥并创建为 Kubernetes Secret。
配置示例:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ceph-rbd
provisioner: kubernetes.io/rbd
parameters:
monitors: 10.0.0.1:6789
pool: kube
adminId: admin
userId: kube
adminSecretName: ceph-admin-secret
userSecretName: ceph-user-secret
fsType: ext4
注意:节点需安装 rbd 内核模块,且 Secret 必须与 PVC 位于同一命名空间。
417
2025-04-26 20:59:00