Page MenuHomePhabricator

Import the upstream ceph-csi-cephfs chart and adapt it to our needs
Closed, ResolvedPublic

Description

The URL for this chart is https://github.com/ceph/ceph-csi/tree/devel/charts/ceph-csi-cephfs

It should be very similar to the ceph-csi-rbd chart that we already use and has already been through the review process by the k8s-sig team.

We should take care, once again, to ensure that we use a version that matches our Kubernetes version closely.

Event Timeline

BTullis triaged this task as High priority.

Change #1077872 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Import ceph-csi-cephfs chart

https://gerrit.wikimedia.org/r/1077872

Change #1077873 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Make it possible to deploy provisioner without the snahshotter

https://gerrit.wikimedia.org/r/1077873

Change #1077874 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Run the driver-registrar as root

https://gerrit.wikimedia.org/r/1077874

Change #1077875 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Disable the priviledged security context of the liveness-prometheus container

https://gerrit.wikimedia.org/r/1077875

Change #1077878 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Define the ceph-csi-cephfs admin_ng helmfile

https://gerrit.wikimedia.org/r/1077878

Change #1078387 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] Make it possible to create several storage classes

https://gerrit.wikimedia.org/r/1078387

Quick pass on the upstream's source code, here some ideas/noteworthy-things:

  • The last commit of the repo seemed from 2022, so it appears as if it was abandoned, but maybe nobody really send pull requests recently and the community is active. It is under ceph-csi and IIRC Ben had very nice interactions with them, so probably not an issue, just reporting it :)
  • The provisioner's cluster-role looks reasonable, I don't see anything clearly pointing to privileges escalations or similar (namely having rules that allow to modify and gather privileges at the k8s api level).
  • daemon sets: I see various privileged containers (driver-registrar, csi-cephplugin, http-metrics) with high pivileges. The first seems to need to access the Kubelet's sockets to register etc.., the second one needs to mount and work with /dev and the latter afaics only display metrics. The first two seem ok-ish use cases, but the latter is very weird (IIRC we had the same issue with the other ceph-related chart review).

Didn't find any big blocker except the http-metrics container. Going to review patches now.

Change #1080032 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] ceph-csi-cephfs: replace the ClusterRole by a list of ns-scoped Roles

https://gerrit.wikimedia.org/r/1080032

Change #1077872 merged by jenkins-bot:

[operations/deployment-charts@master] Import ceph-csi-cephfs chart

https://gerrit.wikimedia.org/r/1077872

Change #1077873 merged by jenkins-bot:

[operations/deployment-charts@master] Make it possible to deploy provisioner without the snahshotter

https://gerrit.wikimedia.org/r/1077873

Change #1077874 merged by jenkins-bot:

[operations/deployment-charts@master] Run the driver-registrar as root

https://gerrit.wikimedia.org/r/1077874

Change #1077875 merged by jenkins-bot:

[operations/deployment-charts@master] Disable the priviledged security context of the liveness-prometheus container

https://gerrit.wikimedia.org/r/1077875

Change #1078387 merged by jenkins-bot:

[operations/deployment-charts@master] Make it possible to create several storage classes

https://gerrit.wikimedia.org/r/1078387

Change #1080032 merged by jenkins-bot:

[operations/deployment-charts@master] ceph-csi-cephfs: replace the ClusterRole by a list of ns-scoped Roles

https://gerrit.wikimedia.org/r/1080032

Change #1077878 merged by Brouberol:

[operations/deployment-charts@master] Define the ceph-csi-cephfs admin_ng helmfile

https://gerrit.wikimedia.org/r/1077878

Change #1081079 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] admin_ng: add the ceph-csi-cephfs helmfile to the list of imported helmfiles

https://gerrit.wikimedia.org/r/1081079

Change #1081079 merged by Brouberol:

[operations/deployment-charts@master] admin_ng: add the ceph-csi-cephfs helmfile to the list of imported helmfiles

https://gerrit.wikimedia.org/r/1081079

Change #1081088 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] ceph-csi-cephfs: avoid name collison with ceph-csi-rbd configmaps

https://gerrit.wikimedia.org/r/1081088

Change #1081088 merged by Brouberol:

[operations/deployment-charts@master] ceph-csi-cephfs: avoid name collison with ceph-csi-rbd configmaps

https://gerrit.wikimedia.org/r/1081088

Change #1081903 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/deployment-charts@master] ceph-csi-cephs: fix RBAC by granting cluster-wide permisions on PVC and storageclasses

https://gerrit.wikimedia.org/r/1081903

Change #1081905 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/puppet@production] ceph/server: fix the dse-k8s-csi-cephfs according to the CSI doc

https://gerrit.wikimedia.org/r/1081905

Change #1081903 merged by Brouberol:

[operations/deployment-charts@master] ceph-csi-cephs: fix RBAC by granting cluster-wide permisions on PVC and storageclasses

https://gerrit.wikimedia.org/r/1081903

Change #1081905 merged by Brouberol:

[operations/puppet@production] ceph/server: fix the dse-k8s-csi-cephfs according to the CSI doc

https://gerrit.wikimedia.org/r/1081905

Change #1081911 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/puppet@production] ceph/server: fix typo in caps

https://gerrit.wikimedia.org/r/1081911

Change #1081911 merged by Brouberol:

[operations/puppet@production] ceph/server: fix typo in caps

https://gerrit.wikimedia.org/r/1081911