Accéder au contenu principal Passer au contenu complémentaire

Configurer un registre Docker personnalisé pour des tâches Talend Management Console

Configurez un registre Docker externe pour les Jobs d'intégration de données, les Jobs Big Data, les services de données et les Routes dans un environnement Dynamic Engine.

Les registres Docker externes sont configurés par environnement.

Note InformationsConseil : Pour les versions de Dynamic Engine avant la version 1.6.0, cette procédure s'applique uniquement aux tâches de services de données et de Routes.

Avant de commencer

  • Assurez-vous que le registre est accessible via le protocole HTTPS.
  • Les définitions des ressources personnalisées dynamic-engine-crd doivent avoir été installées à l'aide du chart Helm oci://ghcr.io/talend/helm/dynamic-engine-crd. Si ce n'est pas le cas, exécutez les commandes suivantes pour l'installation :
    1. Trouvez la version du chart à utiliser :
      • Exécutez la commande Helm suivante :
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --version <engine_version>
      • Visualisez la version directement depuis Talend Management Console ou consultez le Dynamic Engine journal de modification de la version du chart dans votre version de Dynamic Engine.
      • Utilisez un appel d'API pour l'endpoint de version de Dynamic Engine (en anglais).
    2. Exécutez la commande suivante pour installer le chart Helm dans une version donnée :
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      Remplacez <helm_chart_version> par la version du chart supportée par votre version du Dynamic Engine.

      Si vous ne spécifiez pas la version, vous installez la dernière version disponible du chart dynamic-engine-crd.

Procédure

  1. Exécutez la commande suivante pour créer un fichier de valeurs personnalisées pour la connexion au registre externe.
    cat <<EOF > custom-artifact-registry-values.yaml
    configuration:
      registry:
        url: myregistry.example.com
        path: my-specific-registry
        username: foo
        password: bar
        secretName: my-specific-registry
    EOF

    Cette commande crée un fichier de valeurs fournissant les identifiants pour la connexion au registre. Un secret est un objet Kubernetes permettant de stocker des informations sensibles.

    Si les identifiants ne sont pas requis, laissez les champs username (identifiant), password (mot de passe) et secretName vides.

  2. Exécutez la commande suivante pour installer ou mettre à niveau l'environnement de Dynamic Engine avec le fichier de valeurs personnalisées.
    helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
     -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml \
     -f custom-artifact-registry-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version $DYNAMIC_ENGINE_VERSION

    Cette commande met à niveau ou installe l'environnement de Dynamic Engine, en fonction de l'installation existante.

  3. Validez le déploiement :
    • Dans l'espace de noms de l'environnement correspondant de Dynamic Engine, vérifiez les éléments suivants :
      • Le pod dpe-data-service-route-deployer est en cours d'exécution.
      • Les secrets my-specific-registry et dpe-data-service-route-deployer existent, si le registre requiert des identifiants, avec my-specific-registry contenant une valeur .dockerconfigjson représentant l'authentification au registre et dpe-data-service-route-deployer contenant une valeur REGISTRY_CREDENTIALS.
    • Après avoir déployé une tâche, vérifiez l'existence de l'image dans le registre en exécutant cette commande :
      docker pull myregistry.example.com/my-specific-registry/<artifact_name>:<artifact_version>

Résultats

Dynamic Engine peut maintenant se connecter à votre propre registre Docker et l'utiliser pour des images de tâche, mais votre service de registre doit être configuré hors de Dynamic Engine. Dynamic Engine ne fournit pas de mécanisme pour configurer votre registre.
Note InformationsConseil : Dynamic Engine est livré avec un registre Docker interne prévu pour les déploiements à démarrage rapide. Ce registre n'est pas recommandé pour une utilisation en production et ne doit pas être personnalisé pour la mise à échelle automatique dans les environnements de production.
Si vous avez personnalisé le registre Docker interne, par exemple, en configurant la mise à échelle automatique, dans un environnement de production, déplacez la configuration vers le fichier de valeurs de votre registre Docker externe et déployez le fichier avec les environnements Dynamic Engine de votre choix. Par exemple
cat <<EOF > autoscaling-external-registry.yaml
configuration:
  dockerRegistry:
    replicaCount: 2
    autoscaling:
      enabled: true
      maxReplicas: 5
EOF

Si vous devez conserver cette configuration dans le registre Docker interne, n'oubliez pas que la configuration ne doit pas être utilisée pour un environnement de production et, dans de nombreux cas d'usage, par exemple, en cas de plusieurs répliques à des fins de mise à échelle automatique, vous devez conserver la configuration de stockage partagé persistant pour Dynamic Engine sur true (configuration.persistence.enabled=true). Dans ce cas, le stockage partagé persistant devient une condition pour les déploiements de Dynamic Engine dans tous ses environnements.

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.