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

Utiliser un registre privé d'images pour les déploiements de Dynamic Engine

Configurez Dynamic Engine pour utiliser un registre privé d'images pour les déploiements.

Avant de commencer

  • Ne modifiez ni le chemin, ni le tag de l'image, pour chaque service Dynamic Engine.

Pourquoi et quand exécuter cette tâche

Lorsque le registre public n'est pas accessible, vous pouvez configurer un registre d'images alternatif pour obtenir les charts pour déployer Dynamic Engine ou le mettre à niveau. Cela permet aux clusters Kubernetes d'effectuer un pull des images requises depuis un registre privé ou interne.

Cette procédure indique comment configurer un registre d'images privé en tant que cache ou proxy pour les déploiements de Dynamic Engine.

  • Dans cet exemple, le registre d'images privé est accessible à l'adresse myregistry.example.com et nécessite des identifiants.
  • Le référentiel de proxy vers ghcr.io est accessible à l'adresse myregistry.example.com/docker-ghcr-io-remote.

Procédure

  1. Créez le fichier de valeurs Helm pour ce registre privé.
    cat <<EOF > custom-image-registry-values.yaml
    global:
      registry:
        dockerRegistry: myregistry.example.com/docker-ghcr-io-remote
        dockerUsername: <registry_username>
        dockerPassword: <registry_password>
        imagePullSecretName: <registry_secret_name>
    EOF

    Le champ imagePullSecretName est requis lorsque vous utilisez un identifiant et un mot de passe Docker pour l'authentification au registre. Ce champ spécifie le nom du secret Kubernetes stockant vos identifiants pour le registre.

    Note InformationsConseil : À propos du secret du registre :
    • Si vous avez déjà créé le secret du registre manuellement (consultez la documentation Kubernetes relative à kubectl create secret docker-registry - en anglais), spécifiez le nom du secret existant dans imagePullSecretName.
    • Vous pouvez également spécifier un nouveau nom de secret dans imagePullSecretName. Le processus de déploiement crée automatiquement le secret à l'aide des identifiants fournis.

    Si votre registre privé ne nécessite pas d'authentification, ignorez les champs dockerUsername, dockerPassword et imagePullSecretName.

  2. Authentifiez-vous par le registre privé.
    helm registry login myregistry.example.com
    Cette commande permet à Helm d'accéder aux identifiants pour effectuer un pull des charts ou des images au cours des déploiements Dynamic Engine.
  3. Installez ou mettez à niveau une instance de Dynamic Engine et son environnement à l'aide du registre privé.
    helm upgrade --install dynamic-engine-crd \
      oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine-crd \
      --version $DYNAMIC_ENGINE_VERSION
    
    helm upgrade --install dynamic-engine-$DYNAMIC_ENGINE_ID \
      -f $DYNAMIC_ENGINE_ID-values.yaml \
      -f custom-image-registry-values.yaml \
      oci://myregistry.example.com/docker-ghcr-io-remote/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-image-registry-values.yaml \
      oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine-environment \
      --version $DYNAMIC_ENGINE_VERSION
  4. Vérifiez le déploiement.
    • La spécification imagePullSecrets contient le secret utilisé par les pods pour effectuer un pull d'images depuis votre registre privé. Le secret par défaut est talend-registry.
      spec:
        imagePullSecrets:
          - name: talend-registry
    • Tous les chemins d'images commencent par myregistry.example.com/docker-ghcr-io-remote.
      Vous pouvez exécuter cette commande pour vérifier les chemins des images :
      kubectl get deployment -A -l 'app.qlik.com/part-of=qlik-dynamic-engine' \
        -o jsonpath="{range .items[*]}{.metadata.name}{'\t'}{..image}{'\n'}{end}"

Résultats

Une fois terminée, toutes les versions de Dynamic Engine doivent être installées. Tous les déploiements nommés des charts Helm, comme dynamic-engine-crd, dynamic-engine et dynamic-engine-environment sont présents.

Tous les pods de l'espace de noms doivent être en cours d'exécution.

Dans Talend Management Console, le statut de cet environnement devient Ready (Prêt), confirmant qu'il est prêt à exécuter des tâches ou des plans.

Si le registre d'images est mal configuré ou si le pull des images est impossible, les pods affichent des erreurs ImagePullBackoff.

Résolution de problèmes :

Ce tableau liste les erreurs fréquentes lors de l'installation ou de la mise à niveau des charts de Dynamic Engine : dynamic-engine-crd, dynamic-engine et dynamic-engine-environment.

Erreurs d'installation des charts de Dynamic Engine
Erreur Cause Remédiation
Le chart est introuvable
  • Version incorrecte du chart
  • Proxy mal configuré
  • Assurez-vous d'utiliser les versions fournies dans la documentation officielle.
  • Utilisez les commandes fournies dans ce tableau pour vérifier la configuration de votre proxy.
L'utilisateur·trice n'est pas authentifié·e. La commande de connexion n'est pas exécutée ou des identifiants sont manquants Connectez-vous au registre d'images privé configuré.
L'utilisateur·trice n'a pas l'autorisation. Autorisations insuffisantes sur le registre privé Assurez-vous que votre utilisateur·trice peut effectuer des pulls d'images depuis le registre configuré.

Avec un proxy correctement configuré, les commandes suivantes doivent retourner le même résultat :

  • Afficher les charts du registre privé :
    helm show chart oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine \
      --version $DYNAMIC_ENGINE_VERSION
  • Afficher les charts du registre public :
    helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version $DYNAMIC_ENGINE_VERSION 

Ce tableau liste les erreurs les plus fréquentes lorsque le service dynamic-engine-operator tente d'installer ou de mettre à niveau un chart de services dans le Dynamic Engine ou dans l'espace de noms de l'environnement de Dynamic Engine.

Erreurs d'installation des charts de services
Erreur Cause Remédiation
Le chart est introuvable Le registre d'images Docker n'est pas configuré correctement Vérifiez la configuration du registre d'images.
L'utilisateur·trice n'est pas authentifié·e. Les identifiants du registre d'images Docker ne sont pas configurés Vérifiez la configuration du registre d'images.
L'utilisateur·trice n'a pas l'autorisation. Les identifiants de registre d'image Docker n'ont pas d'autorisation de lecture Vérifiez la configuration du registre d'images.

Que faire ensuite

Après un déploiement réussi, vous pouvez ajouter des tâches à l'environnement de Dynamic Engine comme pour les moteurs standards. Pour plus de détails, consultez Ajouter une tâche de Job dans un environnement de Dynamic Engine.

Note InformationsConseil :

Si votre cluster Kubernetes est en air gap, les opérations de Pull d'images sont routées via le registre privé. Ainsi, le cluster ne nécessite pas d'accès direct HTTP ou HTTPS en sortie.

Cependant, si les services Dynamic Engine doivent accéder aux endpoints HTTP ou HTTPS, ce qui est souvent le cas lorsque vous utilisez Qlik Talend Cloud, vous devez également configurer un proxy HTTP dans votre fichier de valeurs Helm.

Pour des instructions, consultez Utiliser un proxy HTTP pour les services Dynamic Engine dans des environnements en air gap.

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.