Déployer Dynamic Engine avec des images minimales
Réduisez la surface d'attaque et la taille d'image de votre déploiement Dynamic Engine en migrant tous les services Dynamic Engine vers des images de conteneur sans distribution (distroless) et les images de tâche Talend Management Console vers des images de conteneur minimales avec un SE très léger.
La définition de global.profile: minimal dans votre fichier de valeurs Helm remplace chaque image de service Dynamic Engine par une variante sans distribution. Une fois que c'est fait, les images de service d'infrastructure utilisent le suffixe de balise -distroless ; les tâches d'intégration de données et les images de services de données ou de Routes utilisent le suffixe de balise -minimal.
Les images sans distribution ne contiennent pas de shell ni de gestionnaire de packages, ce qui réduit l'empreinte du système de fichiers et limite la surface d'attaque exposée à des attaques potentielles.
Cette configuration est recommandée pour les modes Kubernetes gérés, notamment Amazon EKS Auto Mode et GKE Autopilot.
Le support des images sans distribution a été lancé dans Dynamic Engine v1.6.0.
Pourquoi et quand exécuter cette tâche
Pour les modes Kubernetes gérés (Amazon EKS Auto Mode et GKE Autopilot), utilisez cette configuration avec PodDisruptionBudget configuration et configuration.persistence.enabled=false.
Les Jobs Big data (Spark Batch et Spark Streaming) sont incompatibles avec les images minimales.
Lors de l'utilisation de global.profile: minimal, remplacez chaque Job Big Data en ajoutant l'argument de traitement suivant à son profil d'exécution correspondant :
-K8S:ImageProfile=standardCe paramètre de profil d'exécution remplace global.profile au niveau de chaque tâche, de sorte que le conteneur du Job Big Data utilise l'image de base complète standard tandis que les autres tâches utilisent l'image minimale. Pour des informations sur la création et la modification de profils d'exécution, consultez Gérer les profils d'exécution pour les tâches d'environnement de Dynamic Engine.
Procédure
Résultats
Tous les pods de service Dynamic Engine redémarrent et extraient des variantes d'image sans distribution. Vous pouvez vérifier le profil actif via les commandes suivantes :
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'Les deux commandes renvoient minimal.
Que faire ensuite
Si l'une de vos tâches est un Job Big Data, créez ou mettez à jour le profil d'exécution correspondant pour y inclure -K8S:ImageProfile=standard. Pour plus d'informations, consultez Gérer les profils d'exécution pour les tâches d'environnement de Dynamic Engine.