Helm chart configuration

Pelagia Helm chart contains multiple options to configure the Pelagia setup and prepare an environment for deployment.

For the complete list of available options, refer to values.yaml.

Configuration options

The following table lists the most commonly configured Pelagia chart parameters and their default values. For an example configuration procedure, refer to Specify Rook daemons placement.

Parameter

Description

Default

global.dockerBaseUrl

Global address of Docker registry.

"registry.mirantis.com"

global.clusterRelease

Release version of the Kubernetes cluster.

""

global.namespace

Override for the chart release namespace.

""

productSetup

Specifies the Kubernetes cluster setup. By default, designed for MKE. Change it for other setups.

"mke"

cephDeployment.enabled

Enable the Pelagia deployment controller.

true

cephDeployment.netpolEnabled

Enable creation of network policy.

true

cephDeployment.installSharedNamespace

Install a namespace for the Openstack-Ceph communication.

true

cephDeployment.openstackSharedNamespace

Namespace for the Openstack-Ceph communication and secrets sharing.

"openstack-ceph-shared"

cephDeployment.drainRequestLabelKey

Label key marking a node as drained.

""

cephDeployment.drainReadyLabelKey

Label key marking a node as ready to be drained.

""

lcmConfig.rookNamespace

Rook namespace name used across the Pelagia deployment.

"rook-ceph"

lcmConfig.rgwPublicAccessServiceSelector

Label of the service or proxy exposing RGW to public access.

"external_access=rgw"

lcmConfig.diskDaemonPortParameter

Port for the disk daemon API.

9999

lcmConfig.diskDaemonNodeSelector

Label for disk daemon placement.

"ceph_role_osd=true"

lcmConfig.cephDaemonsetLabelExclude

Label for nodes where no Ceph daemons must be scheduled.

""

lcmConfig.gatewayAPIEnabled

Enable usage of the Gateway API.

true

lcmConfig.gatewayName

Name of the Gateway object used by default. When gatewayName and/or gatewayNamespace is left empty, the controller falls back to the lcmConfig default app-gateway name and openstack namespace respectively.

""

lcmConfig.gatewayNamespace

Namespace of the Gateway object used by default.

""

lcmConfig.useIngress

Deprecated. Enable support for Ingress usage. Will be removed in the following release due to NGINX Ingress retirement.

true

controllers.cephdeployment.replicas

Replica count for Pelagia deployment controllers.

3

controllers.lcm.replicas

Replica count for Pelagia LCM controllers.

3

cephRelease

Pin the Ceph release for the current setup. If empty, uses the latest available release for the current version.

""

rook.enabled

Enable the rook deployment using the Pelagia Helm chart. For available rook options, see values.yaml.

true

rook.rookConfig.rookNamespace

Rook namespace. By default, inherited from the lcmConfig.rookNamespace value defined in the main Pelagia chart.

"rook-ceph"

rook.rookConfig.rookOperatorReplicas

Replica count for Rook Operator.

1

rook.rookConfig.rookOperatorPlacement.affinity

Affinity settings for the Rook Operator placement.

{"nodeAffinity": {"preferredDuringSchedulingIgnoredDuringExecution": [{"weight": 100, "preference": {"matchExpressions": [{"key": "ceph_role_mon","operator": "In","values": ["true"]}]}}]}}

rook.rookConfig.rookOperatorPlacement.nodeSelector

Node selector for the Rook Operator placement.

{}

rook.rookConfig.rookOperatorPlacement.tolerations

Toleration settings for the Rook Operator placement.

[]

rook.rookConfig.csiPlacement.nodeAffinity.csiprovisioner

Node affinity settings for CSI provisioner.

""

rook.rookConfig.csiPlacement.nodeAffinity.csiplugin

Node affinity settings for CSI plugins.

"ceph-daemonset-available-node=true"

rook.rookConfig.csiPlacement.tolerations.csiprovisioner

Toleration settings for CSI provisioner.

""

rook.rookConfig.csiPlacement.tolerations.csiplugin

Toleration settings for CSI plugins.

""

rook.rookConfig.rookDiscoverPlacement.nodeAffinity

Node affinity settings for the rook-discover daemon.

"ceph-daemonset-available-node=true;ceph_role_osd=true"

rook.rookConfig.rookDiscoverPlacement.tolerations

Toleration settings for the rook-discover daemon.

""

rook.rookConfig.csiKubeletPath

Path to kubelet on a host.

""

rook.rookConfig.csiCephFsEnabled

Enable CephFS support in Rook.

true

rook.rookConfig.csiNfsEnabled

Enable NFS support in Rook.

false

rook.rookConfig.csiAddonsEnabled

Enable CSI add-ons support in Rook.

false

rook.rookConfig.volumeSnapshotsEnabled

Enable volume snapshot classes support in Rook.

false

ceph-csi-operator.enabled

Enable the ceph-csi-operator deployment. For available ceph-csi-operator options, see values.yaml.

true

ceph-csi-operator.csiOperatorConfig.rookNamespace

Rook namespace. By default, inherited from the lcmConfig.rookNamespace value defined in the main Pelagia chart.

"rook-ceph"

ceph-csi-operator.csiOperatorConfig.placement.affinity

Affinity settings for the ceph-csi-operator deployment placement.

{}

ceph-csi-operator.csiOperatorConfig.placement.tolerations

Tolerations for the ceph-csi-operator deployment to enable running on nodes with particular taints.

[]

snapshot-controller.enabled

Enable the snapshot-controller deployment. For available snapshot-controller options, see values.yaml.

true

snapshot-controller.snapshotControllerConfig.affinity

Affinity settings for the snapshot-controller placement.

{}

snapshot-controller.snapshotControllerConfig.nodeSelector

Node selector for the snapshot-controller deployment to run on nodes with specific labels.

{}

snapshot-controller.snapshotControllerConfig.tolerations

Tolerations for the snapshot-controller deployment to enable running on nodes with particular taints.

[]

Custom images and settings

You can specify custom images for testing environments. Ceph images are derived from the cephRelease value. The following example illustrates available Ceph images based on the Ceph release:

images:
  ceph:
    repository: pelagia/ceph
    tag:
      latest: &latestImageCeph v20.2.1-3.release
      squid: v19.2.3-25.cve
      tentacle: *latestImageCeph

Also, you can specify custom settings for dependency charts, such as Rook, snapshot controller, and Ceph CSI operator if they are installed by the Pelagia chart. For example:

ceph-csi-operator:
  csiOperatorConfig:
    placement:
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/controlplane
        operator: Exists
rook:
  rookConfig:
    csiCephFsEnabled: false
    csiPlacement:
      tolerations:
        csiplugin: |
        - effect: NoSchedule
          key: node-role.kubernetes.io/controlplane
          operator: Exists
snapshot-controller:
  snapshotControllerConfig:
    nodeSelector:
      disktype: ssd