From 853d77d7939cd17b3122f6a9b8a585848fe181a8 Mon Sep 17 00:00:00 2001 From: Yati Padia Date: Thu, 1 Jul 2021 18:18:19 +0530 Subject: [PATCH] doc: update helm chart documentations This commit updates the helm chart documentations with the configurations available while deploying these helm charts. Signed-off-by: Yati Padia --- charts/ceph-csi-cephfs/README.md | 73 ++++++++++++++++++++++++++++ charts/ceph-csi-rbd/README.md | 81 ++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+) diff --git a/charts/ceph-csi-cephfs/README.md b/charts/ceph-csi-cephfs/README.md index 777a5a5cf..e6360fd90 100644 --- a/charts/ceph-csi-cephfs/README.md +++ b/charts/ceph-csi-cephfs/README.md @@ -71,3 +71,76 @@ If you want to delete the namespace, use this command ```bash kubectl delete namespace ceph-csi-cephfs ``` + +### Configuration + +The following table lists the configurable parameters of the ceph-csi-cephfs +charts and their default values. + +| Parameter | Description | Default | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | +| `rbac.create` | Specifies whether RBAC resources should be created | `true` | +| `serviceAccounts.nodeplugin.create` | Specifies whether a nodeplugin ServiceAccount should be created | `true` | +| `serviceAccounts.nodeplugin.name` | The name of the nodeplugin ServiceAccount to use. If not set and create is true, a name is generated using the fullname | "" | +| `serviceAccounts.provisioner.create` | Specifies whether a provisioner ServiceAccount should be created | `true` | +| `serviceAccounts.provisioner.name` | The name of the provisioner ServiceAccount of provisioner to use. If not set and create is true, a name is generated using the fullname | "" | +| `csiConfig` | Configuration for the CSI to connect to the cluster | [] | +| `logLevel` | Set logging level for csi containers. Supported values from 0 to 5. 0 for general useful logs, 5 for trace level verbosity. | `5` | +| `nodeplugin.name` | Specifies the nodeplugin name | `nodeplugin` | +| `nodeplugin.updateStrategy` | Specifies the update Strategy. If you are using ceph-fuse client set this value to OnDelete | `RollingUpdate` | +| `nodeplugin.priorityClassName` | Set user created priorityclassName for csi plugin pods. default is system-node-critical which is highest priority | `system-node-critical` | +| `nodeplugin.profiling.enabled` | Specifies whether profiling should be enabled | `false` | +| `nodeplugin.registrar.image.repository` | Node-Registrar image repository URL | `k8s.gcr.io/sig-storage/csi-node-driver-registrar` | +| `nodeplugin.registrar.image.tag` | Image tag | `v2.2.0` | +| `nodeplugin.registrar.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `nodeplugin.plugin.image.repository` | Nodeplugin image repository URL | `quay.io/cephcsi/cephcsi` | +| `nodeplugin.plugin.image.tag` | Image tag | `canary` | +| `nodeplugin.plugin.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `nodeplugin.nodeSelector` | Kubernetes `nodeSelector` to add to the Daemonset | `{}` | +| `nodeplugin.tolerations` | List of Kubernetes `tolerations` to add to the Daemonset | `{}` | +| `nodeplugin.forcecephkernelclient` | Set to true to enable Ceph Kernel clients on kernel < 4.17 which support quotas | `true` | +| `nodeplugin.podSecurityPolicy.enabled` | If true, create & use [Pod Security Policy resources](https://kubernetes.io/docs/concepts/policy/pod-security-policy/). | `false` | +| `provisioner.name` | Specifies the name of provisioner | `provisioner` | +| `provisioner.replicaCount` | Specifies the replicaCount | `3` | +| `provisioner.timeout` | GRPC timeout for waiting for creation or deletion of a volume | `60s` | +| `provisioner.priorityClassName` | Set user created priorityclassName for csi provisioner pods. Default is `system-cluster-critical` which is less priority than `system-node-critical` | `system-cluster-critical` | +| `provisioner.profiling.enabled` | Specifies whether profiling should be enabled | `false` | +| `provisioner.provisioner.image.repository` | Specifies the csi-provisioner image repository URL | `k8s.gcr.io/sig-storage/csi-provisioner` | +| `provisioner.provisioner.image.tag` | Specifies image tag | `v2.2.2` | +| `provisioner.provisioner.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.attacher.image.repository` | Specifies the csi-attacher image repository URL | `k8s.gcr.io/sig-storage/csi-attacher` | +| `provisioner.attacher.image.tag` | Specifies image tag | `v3.2.1` | +| `provisioner.attacher.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.attacher.name` | Specifies the name of csi-attacher sidecar | `attacher` | +| `provisioner.attacher.enabled` | Specifies whether attacher sidecar is enabled | `true` | +| `provisioner.resizer.image.repository` | Specifies the csi-resizer image repository URL | `k8s.gcr.io/sig-storage/csi-resizer` | +| `provisioner.resizer.image.tag` | Specifies image tag | `v1.2.0` | +| `provisioner.resizer.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.resizer.name` | Specifies the name of csi-resizer sidecar | `resizer` | +| `provisioner.resizer.enabled` | Specifies whether resizer sidecar is enabled | `true` | +| `provisioner.snapshotter.image.repository` | Specifies the csi-snapshotter image repository URL | `k8s.gcr.io/sig-storage/csi-snapshotter` | +| `provisioner.snapshotter.image.tag` | Specifies image tag | `v4.1.1` | +| `provisioner.snapshotter.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.nodeSelector` | Specifies the node selector for provisioner deployment | `{}` | +| `provisioner.tolerations` | Specifies the tolerations for provisioner deployment | `{}` | +| `provisioner.affinity` | Specifies the affinity for provisioner deployment | `{}` | +| `provisioner.podSecurityPolicy.enabled` | Specifies whether podSecurityPolicy is enabled | `false` | +| `topology.enabled` | Specifies whether topology based provisioning support should be exposed by CSI | `false` | +| `topology.domainLabels` | DomainLabels define which node labels to use as domains for CSI nodeplugins to advertise their domains | `{}` | +| `provisionerSocketFile` | The filename of the provisioner socket | `csi-provisioner.sock` | +| `pluginSocketFile` | The filename of the plugin socket | `csi.sock` | +| `kubeletDir` | Kubelet working directory | `/var/lib/kubelet` | +| `driverName` | Name of the csi-driver | `cephfs.csi.ceph.com` | +| `configMapName` | Name of the configmap which contains cluster configuration | `ceph-csi-config` | +| `externallyManagedConfigmap` | Specifies the use of an externally provided configmap | `false` | + +### Command Line + +You can pass the settings with helm command line parameters. +Specify each parameter using the --set key=value argument to helm install. +For Example: + +```bash +helm install --set configMapName=ceph-csi-config --set provisioner.podSecurityPolicy.enabled=true +``` + diff --git a/charts/ceph-csi-rbd/README.md b/charts/ceph-csi-rbd/README.md index bd31b4485..211b16f8a 100644 --- a/charts/ceph-csi-rbd/README.md +++ b/charts/ceph-csi-rbd/README.md @@ -71,3 +71,84 @@ If you want to delete the namespace, use this command ```bash kubectl delete namespace ceph-csi-rbd ``` + +### Configuration + +The following table lists the configurable parameters of the ceph-csi-cephfs +charts and their default values. + +| Parameter | Description | Default | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | +| `rbac.create` | Specifies whether RBAC resources should be created | `true` | +| `serviceAccounts.nodeplugin.create` | Specifies whether a nodeplugin ServiceAccount should be created | `true` | +| `serviceAccounts.nodeplugin.name` | The name of the nodeplugin ServiceAccount to use. If not set and create is true, a name is generated using the fullname | "" | +| `serviceAccounts.provisioner.create` | Specifies whether a provisioner ServiceAccount should be created | `true` | +| `serviceAccounts.provisioner.name` | The name of the provisioner ServiceAccount to use. If not set and create is true, a name is generated using the fullname | "" | +| `csiConfig` | Configuration for the CSI to connect to the cluster | [] | +| `encryptionKMSConfig` | Configuration for the encryption KMS | `{}` | +| `logLevel` | Set logging level for csi containers. Supported values from 0 to 5. 0 for general useful logs, 5 for trace level verbosity. | `5` | +| `nodeplugin.name` | Specifies the nodeplugins name | `nodeplugin` | +| `nodeplugin.updateStrategy` | Specifies the update Strategy. If you are using ceph-fuse client set this value to OnDelete | `RollingUpdate` | +| `nodeplugin.priorityClassName` | Set user created priorityclassName for csi plugin pods. default is system-node-critical which is highest priority | `system-node-critical` | +| `nodeplugin.profiling.enabled` | Specifies whether profiling should be enabled | `false` | +| `nodeplugin.registrar.image.repository` | Node Registrar image repository URL | `k8s.gcr.io/sig-storage/csi-node-driver-registrar` | +| `nodeplugin.registrar.image.tag` | Image tag | `v2.2.0` | +| `nodeplugin.registrar.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `nodeplugin.plugin.image.repository` | Nodeplugin image repository URL | `quay.io/cephcsi/cephcsi` | +| `nodeplugin.plugin.image.tag` | Image tag | `canary` | +| `nodeplugin.plugin.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `nodeplugin.nodeSelector` | Kubernetes `nodeSelector` to add to the Daemonset | `{}` | +| `nodeplugin.tolerations` | List of Kubernetes `tolerations` to add to the Daemonset | `{}` | +| `nodeplugin.podSecurityPolicy.enabled` | If true, create & use [Pod Security Policy resources](https://kubernetes.io/docs/concepts/policy/pod-security-policy/). | `false` | +| `provisioner.name` | Specifies the name of provisioner | `provisioner` | +| `provisioner.replicaCount` | Specifies the replicaCount | `3` | +| `provisioner.defaultFSType` | Specifies the default Fstype | `ext4` | +| `provisioner.deployController` | It enables or disables the deployment of controller which generates the OMAP data if it is not present | `true` | +| `provisioner.hardMaxCloneDepth` | Hard limit for maximum number of nested volume clones that are taken before a flatten occurs | `8` | +| `provisioner.softMaxCloneDepth` | Soft limit for maximum number of nested volume clones that are taken before a flatten occurs | `4` | +| `provisioner.maxSnapshotsOnImage` | Maximum number of snapshots allowed on rbd image without flattening | `450` | +| `provisioner.minSnapshotsOnImage` | Minimum number of snapshots allowed on rbd image to trigger flattening | `250` | +| `provisioner.skipForceFlatten` | Skip image flattening if kernel support mapping of rbd images which has the deep-flatten feature | `false` | +| `provisioner.timeout` | GRPC timeout for waiting for creation or deletion of a volume | `60s` | +| `provisioner.priorityClassName` | Set user created priorityclassName for csi provisioner pods. Default is `system-cluster-critical` which is less priority than `system-node-critical` | `system-cluster-critical` | +| `provisioner.profiling.enabled` | Specifies whether profiling should be enabled | `false` | +| `provisioner.provisioner.image.repository` | Specifies the csi-provisioner image repository URL | `k8s.gcr.io/sig-storage/csi-provisioner` | +| `provisioner.provisioner.image.tag` | Specifies image tag | `v2.2.2` | +| `provisioner.provisioner.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.attacher.image.repository` | Specifies the csi-attacher image repository URL | `k8s.gcr.io/sig-storage/csi-attacher` | +| `provisioner.attacher.image.tag` | Specifies image tag | `v3.2.1` | +| `provisioner.attacher.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.attacher.name` | Specifies the name of csi-attacher sidecar | `attacher` | +| `provisioner.attacher.enabled` | Specifies whether attacher sidecar is enabled | `true` | +| `provisioner.resizer.image.repository` | Specifies the csi-resizer image repository URL | `k8s.gcr.io/sig-storage/csi-resizer` | +| `provisioner.resizer.image.tag` | Specifies image tag | `v1.2.0` | +| `provisioner.resizer.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.resizer.name` | Specifies the name of csi-resizer sidecar | `resizer` | +| `provisioner.resizer.enabled` | Specifies whether resizer sidecar is enabled | `true` | +| `provisioner.snapshotter.image.repository` | Specifies the csi-snapshotter image repository URL | `k8s.gcr.io/sig-storage/csi-snapshotter` | +| `provisioner.snapshotter.image.tag` | Specifies image tag | `v4.1.1` | +| `provisioner.snapshotter.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | +| `provisioner.nodeSelector` | Specifies the node selector for provisioner deployment | `{}` | +| `provisioner.tolerations` | Specifies the tolerations for provisioner deployment | `{}` | +| `provisioner.affinity` | Specifies the affinity for provisioner deployment | `{}` | +| `provisioner.podSecurityPolicy.enabled` | Specifies whether podSecurityPolicy is enabled | `false` | +| `topology.enabled` | Specifies whether topology based provisioning support should be exposed by CSI | `false` | +| `topology.domainLabels` | DomainLabels define which node labels to use as domains for CSI nodeplugins to advertise their domains | `{}` | +| `provisionerSocketFile` | The filename of the provisioner socket | `csi-provisioner.sock` | +| `pluginSocketFile` | The filename of the plugin socket | `csi.sock` | +| `kubeletDir` | kubelet working directory | `/var/lib/kubelet` | +| `driverName` | Name of the csi-driver | `rbd.csi.ceph.com` | +| `configMapName` | Name of the configmap which contains cluster configuration | `ceph-csi-config` | +| `externallyManagedConfigmap` | Specifies the use of an externally provided configmap | `false` | +| `kmsConfigMapName` | Name of the configmap used for encryption kms configuration | `ceph-csi-encryption-kms-config` | + +### Command Line + +You can pass the settings with helm command line parameters. +Specify each parameter using the --set key=value argument to helm install. +For Example: + +```bash +helm install --set configMapName=ceph-csi-config --set provisioner.podSecurityPolicy.enabled=true +``` +