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.

Before you begin

  • The dynamic-engine-crd custom resource definitions must have been installed using the oci://ghcr.io/talend/helm/dynamic-engine-crd helm chart. If not, run the following commands for the installation:
    1. Find the chart version to be used:
      • Run the following Helm command:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --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. 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.

  • Your Dynamic Engine must have been deployed. If not, run this command to deploy it:
    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 current customization is only needed on the Dynamic Engine environment side. For this reason no customization is configured for the Dynamic Engine instance.

Procedure

  1. In the Kubernetes machine, unzip the Helm deployment zip file previously downloaded.
  2. 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, dynamic-engine. If this storage class resource does not exist, the following error message is returned:
    Error from server (NotFound): storageclasses.storage.k8s.io "dynamic-engine" not found

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

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

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

  4. Deploy the Dynamic Engine environment with your custom storage class configuration.
    helm install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
     -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-storageclass-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version $DYNAMIC_ENGINE_VERSION                 
  5. 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!