Restreindre la sortie aux adresses IP connues pour le Dynamic Engine
Dernière mise à jour : 07/08/2026Pourquoi et quand exécuter cette tâche
Appliquez cette procédure lorsque vous devez renforcer le contrôle en sortie au-delà du contrôle fourni par l'ensemble de politiques de réseau par défaut.
Procédure
-
Vérifiez les politiques par défaut :
# For dynamic engine chart helm show values oci://ghcr.io/talend/helm/dynamic-engine --version $DYNAMIC_ENGINE_VERSION \ --jsonpath '{.configuration.networkPolicies.policies}' | jq -r # For dynamic engine environment chart helm show values oci://ghcr.io/talend/helm/dynamic-engine-environment --version $DYNAMIC_ENGINE_VERSION \ --jsonpath '{.configuration.networkPolicies.policies}' | jq -r -
Collectez les adresses des endpoints que la politique doit autoriser.
Demandez aux adresses IP publiques les endpoints Qlik et le serveur d'API Kubernetes requis avant de construire la politique personnalisée.
Note InformationsAvertissement : Les adresses IP sont susceptibles d'être modifiées côté AWS et peuvent par conséquent nécessiter une maintenance régulière de vos politiques de réseau en sortie.# Find the public IP addresses dig api.<region>.cloud.talend.com +short dig msg.<region>.cloud.talend.com +short # Find the virtual IP address of the Kubernetes API server kubectl get service kubernetes -n default -o jsonpath='{.spec.clusterIP}' # Find the real IP addresses of the Kubernetes API server kubectl get endpointslices.discovery.k8s.io -n default kubernetes -
Désactivez la politique de sortie Internet par défaut (default-allow-egress-to-internet) et activez la politique pour limiter l'accès à des adresses IP (statiques) connues spécifiques.
Remplacez les valeurs fictives des IP (x et y) par des adresses réelles.
cat <<EOF > custom-network-policies-values.yaml configuration: networkPolicies: enabled: true # Enable network policies policies: default-allow-egress-to-internet: enabled: false # Disable default policy allowing all egress traffic to the internet restrict-allow-egress-to-known-ip-addresses: enabled: true spec: podSelector: {} egress: - to: - ipBlock: cidr: xx.xxx.xxx.xxx/xx - ipBlock: cidr: yy.yyy.yyy.yyy/yy # Skipped more lines for brevity ports: - port: 443 protocol: TCP - to: - ipBlock: cidr: xx.xx.x.x/xx ports: - port: 443 protocol: TCP - to: - ipBlock: cidr: xxx.xxx.xx.x/xx ports: - port: 8443 protocol: TCP policyTypes: - Egress EOF -
Ajoutez l'exception du registre Docker à la politique au niveau de l'environnement.
L'API de registre d'images est utilisée dans les services di-job-deployer et data-service-route-deployer en plus de kubelet. Par conséquent, ajoutez la politique spécifique à l'environnement de sorte que l'environnement Dynamic Engine puisse continuer à extraire des images du service du registre Docker.
- Pour le registre Docker externe, ajoutez ses adresses IP à la politique restrict-allow-egress-to-known-ip-addresses ci-dessus.
- Pour le registre Docker interne, créez le fichier de valeurs suivant :
# For inernal embedded Docker registry cat <<EOF > custom-environment-network-policies-values.yaml configuration: networkPolicies: policies: allow-egress-to-docker-registry: enabled: true spec: podSelector: {} egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: qlik-dynamic-engine # namespace of the embedded image registry podSelector: matchLabels: app: docker-registry ports: - port: 5000 protocol: TCP policyTypes: - Egress EOFNote InformationsImportant : Dynamic Engine est livré avec un registre Docker interne pour les déploiements à démarrage rapide et de développement uniquement. Un environnement Dynamic Engine, qui a ses propres politiques de réseau et espaces de noms, doit pouvoir accéder à ce registre Docker.Pour un environnement de production, configurez un registre Docker externe pour vos tâches Talend Management Console. Pour plus d'informations, consultez Configurer un registre Docker personnalisé pour des tâches Talend Management Console.
-
Installez ou mettez à niveau les charts avec les fichiers de politiques personnalisées.
helm upgrade --install dynamic-engine-$DYNAMIC_ENGINE_ID \ -f $DYNAMIC_ENGINE_ID-values.yaml \ -f custom-network-policies-values.yaml \ oci://ghcr.io/talend/helm/dynamic-engine \ --version $DYNAMIC_ENGINE_VERSION helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \ -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml \ -f custom-network-policies-values.yaml \ -f custom-environment-network-policies-values.yaml \ oci://ghcr.io/talend/helm/dynamic-engine-environment \ --version $DYNAMIC_ENGINE_VERSION -
Vérifiez l'ensemble de politiques restrictives.
Confirmez que la politique de sortie Internet par défaut est désactivée et que la politique personnalisée est présente dans les espaces de noms du moteur et de l'environnement.
kubectl get networkpolicies -A -l "app.qlik.com/owned-by=qlik"La politique default-allow-egress-to-internet doit avoir disparu et les politiques de sortie personnalisées doivent apparaître à la place. Par exemple :Dans l'espace de noms du moteur :
- default-deny-all
- default-allow-dns
- default-allow-ingress-docker-registry
- restrict-allow-egress-to-known-ip-addresses (Nouveau)
Dans l'espace de nom de l'environnement :
- default-deny-all
- default-allow-dns
- default-allow-egress-to-same-namespace
- restrict-allow-egress-to-known-ip-addresses (Nouveau)
- allow-egress-to-docker-registry (Nouveau)
La sortie ne doit plus inclure default-allow-egress-to-internet pour aucun chart, si le fichier de valeurs personnalisé a été correctement appliqué.
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.