Skip to main content Skip to complementary content

Setting up custom namespaces

Specify your own namespace names for both the Dynamic Engine and its environment.

About this task

By default, the following namespaces are created:

  • qlik-dynamic-engine: for Dynamic Engine's infrastructure services.
  • qlik-processing-env-<env-id>: for each Dynamic Engine environment, where <env-id> is the environment identifier.

With Helm deployment, you can define custom names for these namespaces to facilitate your namespace management.

Information noteNote: Changing the namespace name is only allowed during engine deployment.

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. Create a custom values file for the Dynamic Engine custom namespace.
    Run the following command in your terminal.
    cat <<EOF > <engine-id>-custom-namespace-values.yaml
    global:
      namespace:
        create: false
        name: <engine-custom-namespace>
    EOF        
    For example, <engine-id> is c-m-sjufu4qy and <engine-custom-namespace> is dyn-engine-dev. This creates a values file called c-m-sjufu4qy-custom-namespace-values.yaml. This file contains:
    global:
      namespace:
        create: false
        name: dyn-engine-dev
  4. Create the custom namespace in your Kubernetes cluster.
    kubectl create namespace <engine-custom-namespace>            
  5. Deploy the Dynamic Engine with your custom namespace configuration.
    helm install dyn-engine-<engine-id> -f <engine-id>-values.yaml  \
    -f <engine-id>-custom-namespace-values.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine \
    --version <engine-version>          
  6. Create a custom values file for the environment custom namespace.
    Run the following commands in your terminal.
    cat <<EOF > <environment-id>-custom-namespace-values.yaml
    global:
      namespace:
        create: false
        name: <environment-custom-namespace>
    
    dynamicEngine:
      namespace:
        name: <engine-custom-namespace>
    EOF       
    Ensure to use the same engine custom namespace name for <engine-custom-namespace> as the one you previously created. If you use a different one, the environment cannot be deployed.
    For example, <environment-id> is 67f7d562ffd7c3525a902542, <environment-custom-namespace> is dyn-engine-dev-env-1, and engine-custom-namespace> is dyn-engine-dev, exactly the same as the engine's custom namespace name mentioned in previous examples. This creates a values file called 67f7d562ffd7c3525a902542-custom-namespace-values.yaml. This file contains:
    global:
      namespace:
        create: false
        name: dyn-engine-dev-env-1
    dynamicEngine:
      namespace:
        name: dyn-engine-dev
  7. Create the custom environment namespace in your Kubernetes cluster.
    kubectl create namespace <environment-custom-namespace>            
  8. Deploy the Dynamic Engine environment with your custom namespace configuration.
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-namespace-values.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>                  
    Information noteTip: If you have multiple Dynamic Engine environments for the same Dynamic Engine, repeat these steps to create a distinct custom namespace name for each environment.
  9. Verify the status of your Dynamic Engine and environments.
    kubectl get dynamicengines.apps.qlik.com -n <engine-custom-namespace>
    kubectl get dynamicengineenvs.apps.qlik.com -n <environment-custom-namespace>                    
    You should see information similar to these lines:
    NAME                               VERSION     STATUS    LAST UPDATE
    qlik-dynamic-engine-<engine-id>   0.22.0      RUNNING   5 minutes
    
    NAME                   VERSION  STATUS    LAST UPDATE
    <environment-resource-name>   0.22.0   RUNNING   3 minutes
    The <environment-resource-name> is the same as the environment's custom namespace name, for example, dyn-engine-dev-env-1.

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!