Investigate enabling ceph-fs to be mounted using the kernel client mounter
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
CDK Addons |
Fix Released
|
High
|
Unassigned | ||
Kubernetes Control Plane Charm |
Fix Released
|
High
|
Unassigned |
Bug Description
Currently the client to mount volumes in the ceph-fs storage class in a deployment of CK with ceph-fs is not configurable. My understanding of the code is that it will end up as ceph-fuse if available and not explicitly set otherwise [1][2].
I have done some testing with fio and found that using a volume mounted with ceph-fuse is much slower than using the kernel client:
In a pod using ceph-fuse:
READ: bw=781KiB/s (800kB/s), 781KiB/s-781KiB/s (800kB/s-800kB/s), io=768MiB (805MB), run=1005823-
WRITE: bw=261KiB/s (267kB/s), 261KiB/s-261KiB/s (267kB/s-267kB/s), io=256MiB (269MB), run=1005823-
Directly mounted to the worker:
READ: bw=3998KiB/s (4094kB/s), 3998KiB/s-3998KiB/s (4094kB/
WRITE: bw=1336KiB/s (1368kB/s), 1336KiB/s-1336KiB/s (1368kB/
I then manually created a new storage class using `mounter: kernel` and tested inside of a new pod:
READ: bw=4327KiB/s (4431kB/s), 4327KiB/s-4327KiB/s (4431kB/
WRITE: bw=1446KiB/s (1480kB/s), 1446KiB/s-1446KiB/s (1480kB/
It seems like we should atleast investigate making this configurable, if not default.
[1] https:/
[2] https:/
Additional references:
https:/
https:/
https:/
Changed in cdk-addons: | |
status: | New → Triaged |
Changed in charm-kubernetes-master: | |
status: | New → Triaged |
Changed in cdk-addons: | |
status: | Triaged → Fix Committed |
Changed in charm-kubernetes-master: | |
status: | Triaged → Fix Committed |
Changed in charm-kubernetes-master: | |
status: | In Progress → Fix Committed |
tags: | removed: review-needed |
tags: | added: backport-needed |
tags: | removed: backport-needed |
Changed in cdk-addons: | |
status: | In Progress → Fix Committed |
tags: | removed: review-needed |
Changed in cdk-addons: | |
status: | Fix Committed → Fix Released |
Changed in charm-kubernetes-master: | |
status: | Fix Committed → Fix Released |
Relevantly I have two PR's linked to a bug filed against the kubernetes-master charm for this [0] to enable the necessary config.
[0] https:/ /bugs.launchpad .net/charm- kubernetes- master/ +bug/1895428