Deploying Dynamic Engine with minimal images
Reduce the attack surface and image size of your Dynamic Engine deployment by switching all Dynamic Engine services to distroless container images and Talend Management Console task images to minimal container images with a very light OS.
Setting global.profile: minimal in your Helm values file switches every Dynamic Engine service image to its distroless variant. Once done, infrastructure service images use the -distroless tag suffix; data integration tasks and Data Service or Route images use the -minimal tag suffix.
Distroless images contain no shell and no package manager, which reduces the filesystem footprint and limits the attack surface exposed to potential exploits.
This configuration is recommended for managed Kubernetes modes, including Amazon EKS Auto Mode and GKE Autopilot.
Support for distroless images was introduced in Dynamic Engine v1.6.0.
About this task
For managed Kubernetes modes (Amazon EKS Auto Mode and GKE Autopilot), use this configuration with PodDisruptionBudget configuration and configuration.persistence.enabled=false.
Big data Jobs (Spark Batch and Spark Streaming) are incompatible with minimal images.
When using global.profile: minimal, override each big data Job by adding the following processing argument to its corresponding run profile:
-K8S:ImageProfile=standardThis run profile parameter overrides global.profile at the individual task level, so the big data Job's container uses the standard full base image while other tasks use the minimal image. For information about creating and editing run profiles, see Managing Run profiles for Dynamic Engine environment tasks.
Procedure
Results
All Dynamic Engine service pods restart and pull distroless image variants. You can verify the active profile with the following commands:
helm get values dynamic-engine-$DYNAMIC_ENGINE_ID --output json | jq -r '.global.profile'
helm get values dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID --output json | jq -r '.global.profile'Both commands should return minimal.
What to do next
If any of your tasks are big data Jobs, create or update the corresponding run profile to include -K8S:ImageProfile=standard. See Managing Run profiles for Dynamic Engine environment tasks.