遇到的问题
- 尝试在 kubernetes 里创建 MySQL 使用 PV 挂载 cephfs 的二级路径作为数据存储位置,遇到了“路径不存在”的错误。
- 在 MySQL 启动的部署的时候买,遇到了下文的错误
MountVolume.SetUp failed for volume "mysql-pv" : CephFS: mount failed: mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/87e91420-a3bb-4c9d-8dfa-50f20881645d/volumes/kubernetes.io~cephfs/mysql-pv --scope -- mount -t ceph -o <masked>,<masked> 10.2.0.151:6789:/mysql8 /var/lib/kubelet/pods/87e91420-a3bb-4c9d-8dfa-50f20881645d/volumes/kubernetes.io~cephfs/mysql-pv Output: Running scope as unit run-11819.scope. mount: 特殊设备 10.2.0.151:6789:/mysql8 不存在
配置
PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
capacity:
storage: 100Gi
cephfs:
monitors:
- 10.2.0.151:6789
path: /mysql8
user: admin
secretRef:
name: ceph-secret
fsType: ext4
readOnly: false
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
- 这个 path 里的路径 /mysql8,我在 ceph 的 pool 里已经手动创建过了,路径因该没问题。但是看错误日志的 mount 指令,感觉指令拼装的不对。
- ceph 的 key 用的是 admin 用户的,对 cephfs_data 拥有 RW 权限。
疑问
- 我按照 kubernetes 的文档,在 cephfs 的 path 一栏里配置了二级路径,PV 就没发正常挂载,但是如果用根路径,PV 可以正常挂载。这是为何呢?
- kubernetes 挂载 cephfs 的默认 pool 是 cephfs_data 吗?
参考的文档
版本信息
- 操作系统:centos7
- kubernetes 版本: v1.22.12
- ceph 版本: 15.2.17