Skip to main content Skip to complementary content

Provisioning a storage class dedicated to Dynamic Engine environment services

Configure a specific storage class for Dynamic Engine environment services instead of using the default Kubernetes storage class.

Information noteImportant: Setting a custom storage class for Dynamic Engine environment services is only allowed during engine deployment.

Dynamic Engine environment services require a storage class that supports ReadWriteMany access mode. For more information about compatible CSI providers, see Supported CSI providers.

Procedure

  1. Use the dynamic-engine-crd Helm chart to install the Dynamic Engine custom resource definitions of a given Helm version.
    1. The chart version to use is the same as your Dynamic Engine version. You can find this version using one of the following methods:
      • Run the following Helm command:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version <engine_version>
      • See the version directly from Talend Management Console or check the Dynamic Engine changelog for the chart version included in your Dynamic Engine version.
      • Use an API call to the Dynamic Engine version endpoint.
    2. In the Kubernetes cluster, run the following command to install the Helm chart of a given version:
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      Replace <helm_chart_version> with the chart version supported by your Dynamic Engine version.

      Without specifying the version, you install the latest available dynamic-engine-crd chart version.

  2. Still in the Kubernetes machine, unzip the Helm deployment zip file previously downloaded.
  3. Verify that the storage class to be used exists in your cluster.
    kubectl get storageclass <storage-class-resource-name>
    For example, replace <storage-class-resource-name> with the actual resource name to be used, dyn-engine. If this storage class resource does not exist, the following error message is returned:
    Error from server (NotFound): storageclasses.storage.k8s.io "dyn-engine" not found

    Contact your Kubernetes administrator to create this storage class resource. It must support the ReadWriteMany access mode.

  4. Create a custom values file specifying the storage class for the Dynamic Engine environment.
    cat <<EOF > <environment-id>-custom-storageclass-values.yaml
    configuration:
      persistence:
        defaultStorageClassName: <storage-class-resource-name>
    EOF                               

    Use the ID of the environment to be deployed for <environment-id>. Use the name of your storage class resource for <storage-class-resource-name>.

  5. Run this command to deploy the Dynamic Engine instance:
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine

    This is the default deployment, because the storage class customization is only needed on the Dynamic Engine environment side. So no customization has been done for the Dynamic Engine instance.

  6. Deploy the Dynamic Engine environment with your custom storage class configuration.
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
     -f <environment-id>-custom-storageclass-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version <engine-version>                 
  7. Verify that the Dynamic Engine environment is ready and persistent volumes are provisioned.
    1. Check the environment status:
      kubectl get dynamicengineenvs.apps.qlik.com -n <environment-namespace>

      The status should show as Running or Ready.

    2. Check that persistent volumes have been created for the Dynamic Engine services:
      kubectl get pvc -n <environment-namespace>

      Each service should have a bound persistent volume.

Results

Once done successfully, the Dynamic Engine environment services are installed in your cluster and connect to the Dynamic Engine.

In Talend Management Console, the status of this environment becomes Ready, confirming that it is ready to run tasks or plans.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!