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

Configurer un moteur dynamique et un environnement de moteur dynamique dans Kubernetes

Availability-noteBêta
Fournissez l'un de vos clusters Kubernetes sur lequel déployer un moteur dynamique et son environnement.

Ajouter un moteur dynamique

Availability-noteBeta
Ajoutez une entité logique de moteur dynamique pour permettre le déploiement d'un moteur dynamique dans votre cluster Kubernetes.

Before you begin

Vous avez le rôle Infrastructure Administrator (contenant l'autorisation TMC_CLUSTER_MANAGEMENT) dans Talend Management Console.

Procedure

  1. Allez sur la page Processing (Traitement).
  2. Ouvrez l'onglet Dynamic Engines (Moteurs Dynamiques).
  3. Cliquez sur Add Dynamic Engine (Ajouter un moteur dynamique).
  4. Saisissez un nom et une description.
    Le nom ne peut contenir que des caractères alphanumériques, les caractères -, . et _. Les espaces et autres caractères spéciaux ne sont pas autorisés.
  5. Cliquez sur Add (Ajouter) afin de valider vos modifications et d'ouvrir la boîte de dialogue de déploiement du moteur dynamique.
    Un ZIP contenant deux fichiers manifestes est généré. Vous pouvez l'appliquer sur votre cluster Kubernetes pour déployer le moteur dynamique.
  6. Téléchargez le ZIP contenant les manifestes.
    Vous pouvez trouver le lien de téléchargement de ce fichier en passant votre curseur sur le moteur dynamique à déployer, dans la liste Dynamic Engines (Moteurs Dynamiques), jusqu'au déploiement de votre moteur.
  7. Fermez la boîte de dialogue.

Results

Un fichier ZIP est généré. Vous devez le télécharger puis appliquer de manière séquentielle les deux fichiers manifestes sur votre cluster Kubernetes pour enregistrer le cluster et déployer votre moteur dynamique.
Note InformationsImportant: Ne modifiez pas le contenu de ce fichier manifeste. Seule la configuration par défaut prédéfinie dans ce fichier est supportée.
Le statut de votre moteur dynamique est configuré à New (Nouveau).

Configurer votre moteur dynamique dans Kubernetes à l'aide des fichiers manifestes

Availability-noteBeta
Appliquez les fichiers manifestes de moteur dynamique générés sur votre cluster Kubernetes pour déployer le moteur dynamique.

Procedure

  1. Dézippez le fichier précédemment téléchargé pour obtenir deux fichiers manifestes : custom-resource-definitions.yaml et resources.yaml.
  2. Dans votre terminal Kubernetes, exécutez la commande suivante pour appliquer les fichiers manifestes dans l'ordre suivant :
    1. kubectl apply -f custom-resource-definitions.yaml

      Ce fichier manifeste crée deux types personnalisés de ressources Kubernetes dans votre cluster : QlikRuntimeInfra pour les ressources des moteurs dynamiques et QlikRuntime pour les ressources d'environnements des moteurs dynamiques.

    2. kubectl apply -f resources.yaml

      Ce fichier manifeste crée les ressources de moteur dynamique pour enregistrer votre cluster, déployer votre moteur dynamique et attribuer le moteur à son entité logique locale dans Talend Management Console.

    Après cette deuxième exécution, un message s'affiche dans votre terminal, confirmant que le moteur a bien été déployé :
    namespace/talend-infra created
    secret/talend-registry created
    secret/artifactory-helm-repo-credentials created
    serviceaccount/qlik-installer created
    role.rbac.authorization.k8s.io/qlik-installer created
    rolebinding.rbac.authorization.k8s.io/qlik-installer created
    role.rbac.authorization.k8s.io/engine-operator created
    rolebinding.rbac.authorization.k8s.io/engine-operator created
    clusterrole.rbac.authorization.k8s.io/qlik-installer created
    clusterrolebinding.rbac.authorization.k8s.io/qlik-installer created
    customresourcedefinition.apiextensions.k8s.io/qlikruntimeinfras.qlik.com created
    customresourcedefinition.apiextensions.k8s.io/qlikruntimes.qlik.com created
    serviceaccount/engine-operator-sa created
    role.rbac.authorization.k8s.io/engine-operator-leader-election-role created
    clusterrole.rbac.authorization.k8s.io/engine-operator-role created
    rolebinding.rbac.authorization.k8s.io/engine-operator-leader-election-rolebinding created
    clusterrolebinding.rbac.authorization.k8s.io/engine-operator-rolebinding created
    deployment.apps/engine-operator-dp created
    qlikruntimeinfra.qlik.com/data-plane-c-m-3qiao6iq created
    secret/qlik-oidc-client configured

Results

Cela fait avec succès, le statut de l'entité logique du moteur dynamique dans Talend Management Console devient active.

Si vous souhaitez connaître les éléments installés dans votre cluster Kubernetes, allez dans votre machine Kubernetes et exxécutez les commandes présentées dans cette documentation Kubernetes officielle.

Ajouter un environnement de moteur dynamique

Availability-noteBeta

Créez un environnement dédié à un Moteur Dynamique.

Cet environnement peut être utilisé uniquement par des moteurs dynamiques et ne peut être attribué qu'à un seul moteur dynamique à la fois.

Before you begin

Vous devez avoir le rôle Environment Administrator dans Talend Management Console.

Procedure

  1. Allez à la page Environments (Environnements).
  2. Ouvrez l'onglet Dynamic Engines Environments (Environnements des Moteurs Dynamiques).
  3. Cliquez sur Add environment (Ajouter un environnement).
  4. Saisissez le nom de l'environnement.
    Le nom ne peut contenir que des caractères alphanumériques, les caractères -, # et _. Les espaces en début et fin de champ et les autres caractères spéciaux ne sont pas autorisés.
  5. Saisissez le nom du premier espace de travail dans le nouvel environnement.
    Les caractères autorisés sont les mêmes que pour le nom de l'environnement.
  6. Optional: Si vous souhaitez que le propriétaire de l'espace de travail soit un autre utilisateur ou utilisatrice, sélectionnez le nom d'utilisateur ou d'utilisatrice dans la liste déroulante.
  7. Saisissez une description.
  8. Cliquez sur Add (Ajouter) pour sauvegarder vos modifications.

Results

Le statut de l'environnement de votre moteur dynamique est configuré à Not assigned (Non attribué).

L'environnement est créé avec l'espace de travail spécifié.

Pour partager l'espace de travail, cliquez sur le nom de l'environnement puis sur l'icône Share workspace (Partager l'espace de travail) près du nom de l'espace de travail, dans l'onglet Workspaces (Espaces de travail).

Pour ajouter d'autres espaces de travail à ce nouvel environnement, cliquez sur le nom de l'environnement, puis sur Add workspace (Ajouter un espace de travail) dans l'onglet Workspaces (Espaces de travail).

What to do next

Vous êtes prêt·e à attribuer votre environnement à un moteur dynamique.

Attribuer un environnement à un moteur dynamique

Availability-noteBeta

Attribuez un ou plusieurs environnement·s à un moteur dynamique actif. Les prochaines exécutions de tâches dans les environnements se dérouleront dans le Moteur Dynamique.

Attribuer un environnement à un moteur dynamique écrase les paramètres existants du moteur et du profil d'exécution pour cet environnement.

Before you begin

  • Vous devez avoir le rôle Environment Administrator dans Talend Management Console.
  • Le moteur dynamique à associer doit avoir été déployé dans un cluster Kubernetes (statut Active (Actif)).

Procedure

  1. Allez sur la page Processing (Traitement).
  2. Ouvrez l'onglet Dynamic Engines (Moteurs Dynamiques).
  3. Placez votre curseur sur la colonne Name (Nom) de la ligne du moteur dynamique auquel attribuer un environnement.
    Un bouton s'affiche près du nom du moteur.
  4. Cliquez sur le bouton pour ouvrir la page d'attribution des environnements.
    Vous pouvez également cliquer sur le nom du moteur dynamique pour ouvrir le panneau des détails, puis cliquer sur le bouton Manage (Gérer) pour ouvrir la page d'attribution des environnements.
  5. Cliquez sur Assign environment (Attribuer un environnement).
  6. Dans la boîte de dialogue qui s'ouvre, sélectionnez un environnement dans la liste déroulante.
  7. Cliquez sur Assign (Attribuer).

    Example

  8. Cliquez sur Download the manifest (Télécharger le manifeste) pour télécharger ce fichier manifeste.
  9. Dans le terminal de votre cluster Kubernetes, exécutez la commande suivante pour appliquer le fichier manifeste.
    kubectl apply -f <your_environment_manifest_file>.yaml
    Lorsque l'exécution de la commande s'est bien déroulée, le message suivant est retourné :
    qlikruntime.qlik.com/remote-engine-0f719636-6d65-48f0-92c3-a3e987447ab1 created
    namespace/remote-engine-0f719636-6d65-48f0-92c3-a3e987447ab1 created
    secret/talend-registry created
    secret/artifactory-helm-repo-credentials created
    role.rbac.authorization.k8s.io/qlik-installer created
    rolebinding.rbac.authorization.k8s.io/qlik-installer created
    role.rbac.authorization.k8s.io/engine-operator created
    rolebinding.rbac.authorization.k8s.io/engine-operator created
    configmap/runtime-specs-latest created
    configmap/global-configuration created
    configmap/pipeline-configuration created
    Dans ce message, vous pouvez voir le nom de l'environnement du moteur dynamique en tant que ressource. Dans l'exemple ci-dessus, le nom de la ressource est remote-engine-0f719636-6d65-48f0-92c3-a3e987447ab1. Le nom est également utilisé comme nom de l'espace de noms, regroupant tous les services associés à la ressource d'environnement du moteur dynamique.
  10. Vérifiez que tous les services de l'environnement du moteur dynamique sont bien déployés et en cours d'exécution via cette commande :
    kubectl get qlikruntime remote-engine-0f719636-6d65-48f0-92c3-a3e987447ab1 -o json | jq -r '.status.conditions'
    Dans cette commande, qlikruntime représente le type de ressource personnalisé dédié aux environnements des moteurs dynamiques et, comme expliqué dans l'exemple ci-dessus, remote-engine-0f719636-6d65-48f0-92c3-a3e987447ab1 est la ressource et le nom de l'espace de noms de l'environnement.
    • Si les messages que vous recevez ressemblent à ceux-ci, le déploiement de l'environnement a bien été effectué :
      [
        {
          "lastTransitionTime": "2024-05-30T12:51:29Z",
          "message": "Service is not deployed",
          "reason": "Deployment_not_found",
          "status": "False",
          "type": "NOT_DEPLOYED"
        },
        {
          "lastTransitionTime": "2024-05-30T12:51:39Z",
          "message": "Service is starting",
          "reason": "Pod_pending",
          "status": "False",
          "type": "STARTING"
        },
        {
          "lastTransitionTime": "2024-05-30T12:54:30Z",
          "message": "Service is running",
          "reason": "Pod_ready",
          "status": "True",
          "type": "RUNNING"
        }
      ]
    • Si les messages contiennent des statuts comme "NOT_DEPLOYED" (non déployé) ou "IN_ERROR" (en erreur) , le déploiement contient des erreurs. Vous devez exécuter cette commande pour obtenir et inspecter l'objet "serviceStatus" de la ressource d'environnement :
      kubectl get qlikruntime remote-engine-92d6e127-e070-4264-a9e8-00adbbbfbc03 -o json | jq -r '.status'
      Le message suivant affiche un exemple d'erreur sur le service "di-job-deployer" de l'objet "serviceStatus". Son champ "jobErrorMessage" donne davantage de détails concernant l'erreur observée au cours du déploiement, indiquant que le diagramme helm attendu est introuvable.

      Certaines lignes ont été ignorées dans l'exemple suivant.

      {
        "conditions": [
          {
            "lastTransitionTime": "2024-05-30T13:05:25Z",
            "message": "Service is not deployed",
            "reason": "Deployment_not_found",
            "status": "True",
            "type": "NOT_DEPLOYED"
          }
        ],
        "serviceStatus": {
          ...
          "di-job-deployer": {
            "conditions": [
              ...
              {
                "lastTransitionTime": "2024-05-30T13:06:39Z",
                "message": "Service is in error",
                "reason": "Pod_failed",
                "status": "False",
                "type": "IN_ERROR"
              }
            ],
            "creationDate": "2024-05-30T13:05:25Z",
            "jobErrorMessage": "Error: release: not found\nUpgrading...\nupgrade 
            result: Release \"di-job-deployer-92d6e127-e070-4264-a9e8-00adbbbfbc03\" does not exist. 
            Installing it now.\nError: failed to download 
            ...
            \nError: failed to download 
            \"https://artifactory.datapwn.com/artifactory/tlnd-helm-ce-dev/dpe-di-job-deployer-2.0.0.tgz\
            "\nexit_code: 1\n",
            "jobStatus": "FAILED",
            "lastUpdateDate": "2024-05-30T13:01:52Z"
          },
            ...
          }
        }
      }
      Dans cette situation, contactez le Support pour une étude du fichier manifeste de l'environnement du moteur dynamique. Une fois informé, désattribuez l'environnement et réattribuez-le pour générer un nouveau fichier manifeste.

Results

Cela fait, les services d'environnement du moteur dynamique sont installés dans votre cluster et connectés au moteur dynamique.

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 l'implémentation du fichier manifeste échoue, ou si les services du moteur dynamique sont dissociés du moteur dynamique, le statut devient Not ready (Pas prêt).

What to do next

Comme le moteur dynamique a bien été déployé dans votre cluster Kubernetes, connecté à Talend Management Console et associé à un environnement de moteur dynamique, il est à présent prêt à exécuter des tâches ou des plans de Jobs, comme un moteur standard. Pour savoir comment ajouter une tâche à l'environnement du moteur dynamique pour exécution, consultez Ajouter des tâches à un environnement de Moteur Dynamique.

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 – dites-nous comment nous améliorer !