Installer Bridge pour conteneurs Linux

Bridge pour Linux procure l’évolutivité et les capacités de gestion rationalisée des charges de travail conteneurisées. Les instructions suivantes décrivent un moyen simple d’exécuter Bridge pour Linux et supposent que vous connaissez les bases de la plateforme Docker et des termes clés utilisés dans l’écosystème.

Installer et exécuter Bridge à partir d’un conteneur Docker

Pour utiliser Bridge sous Linux, vous devez créer une image Docker personnalisée, installer le package RPM, puis exécuter Bridge dans l’image du conteneur.

Conditions préalables

  • Installation du moteur Docker. Pour l’image de base du conteneur Docker, Bridge sur Linux est pris en charge par :
  • Package RPM pour Tableau Bridge.
  • Connaissance du système d’exploitation Linux.
  • Des connaissances de base de l’interpréteur de scripts shell et de Docker.
  • Un Jeton d’accès personnel pour administrateur de site Tableau.

Étape 1 : Créer une image de conteneur Bridge

Les étapes suivantes sont les instructions de base pour créer une image de base de Bridge sous Linux. Pour plus d’informations, consultez Présentation de Docker.

Après l’installation de Docker, seul l’utilisateur racine est autorisé à exécuter des commandes. Vous pouvez exécuter des commandes Docker avec sudo ou par un utilisateur qui est membre du groupe Docker.

  1. Téléchargez le package Bridge .rpm depuis la page Téléchargements(Le lien s’ouvre dans une nouvelle fenêtre) sur le site Web de Tableau.
  2. (Facultatif) Vous pouvez modifier les paramètres de configuration de manière à modifier la façon dont le client s’exécute. Consultez Modifier les paramètres du client Bridge pour plus d’information.
  3. Créez un répertoire de travail et déplacez le package .rpm dans le répertoire.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Créez un classeur Docker dans le répertoire de travail. Par exemple :

    $ touch Dockerfile

  5. Modifiez le classeur Docker et ajoutez les commandes à exécuter yum update.

    Exemple de Red Hat

    Pour Red Hat 8 :

    FROM registry.access.redhat.com/ubi8/ubi:latest

    RUN yum -y update

    Pour Red Hat 7 :

    FROM registry.access.redhat.com/ubi7/ubi:latest

    RUN yum -y update

    Exemple Centos

    Pour Centos 7 :

    FROM centos:7

    RUN yum -y update

  6. Modifiez le classeur Docker et ajoutez les commandes pour copier le package RPM pour Bridge, installez-le, puis supprimez-le de l’image.

    COPY <your_bridge_rpm>.rpm /<path_of_container>

    RUN ACCEPT_EULA=y yum install -y $(find . -name *.rpm) && rm -rf *.rpm

  7. Créez une nouvelle image de conteneur en exécutant la commande docker build. La commande suivante crée une image dans le répertoire courant et l’identifie avec le mot ​"bridge_base".

    docker buildx build --platform=linux/amd64 -t bridge_base .

  8. Vérifiez que l’image de base que vous avez créée figure dans la liste des images.

    docker images | grep bridge

Étape 2 : Installer les pilotes

Le client Bridge nécessite des pilotes pour faciliter la connectivité entre les données du réseau privé et Tableau Cloud. En ce qui concerne les pilotes, rendez-vous sur Téléchargement de pilotes, sélectionnez la source de données, puis sélectionnez Linux pour le système d’exploitation.

  1. L’installation peut se faire de manière interactive après le lancement de l’image de base, ou une couche supérieure de la couche de base peut être écrite sur des Dockerfiles séparés.

    Exemple

    Après avoir copié le package RPM du pilote MySQL dans le répertoire, vous pouvez créer un répertoire de travail distinct pour superposer les pilotes MySQL en utilisant le Dockerfile suivant :

    # Using previously built bridge_base image

    FROM bridge_base COPY mysql-connector-odbc-8.0.26-1.el7.x86_64.rpm .

    RUN yum install -y mysql-connector-odbc-8.0.26-1.el7.x86_64.rpm

    Exemple

    Installez un pilote JDBC postgres. Cette action peut aussi être effectuée dans un Dockerfile séparé.

    # Using previously built bridge_base image

    FROM bridge_base COPY postgresql-42.3.3.jar /opt/tableau/tableau_driver/jdbc/

    Exemple

    Installez le pilote Amazon Redshift.

    # Using previously built bridge_base image

    FROM bridge_base

    yum install -y unixODBC

    yum --nogpgcheck localinstall -y

    AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.rpm

    odbcinst -i -d -f /opt/amazon/redshiftodbc/Setup/odbcinst.ini

  2. Créez une nouvelle image :
  3. docker image build -t bridge_final .

    L’image bridge_final utilise l’image mise en cache à l’étape précédente et automatise l’installation du pilote pour toutes vos instances Bridge. Si vous disposez d’un référentiel d’images, vous pouvez publier l’image dans le référentiel et la distribuer à toutes les machines sur lesquelles vous souhaitez exécuter Bridge.

Étape 3 : Exécuter le conteneur Bridge

L’image de base étant créée, vous pouvez la déployer en utilisant diverses méthodes. Les étapes de base sont les suivantes :

  1. Démarrez l’instance du conteneur Bridge.
  2. Connectez-vous et démarrez le subordonné.
  3. Assignez l’agent à un pool.

Remarque : Bridge pour Linux ne prend pas en charge les anciennes programmations Bridge. Consultez Migrer des (anciennes) programmations Bridge vers les programmations en ligne pour plus d’information.

  1. Avant de lancer le déploiement du conteneur, créez un Jeton d’accès personnel. Le jeton d’accès personnel est requis pour se connecter à l’agent.

    Les noms de jetons suivants doivent correspondre : le patTokenId (utilisé lors de l’exécution de la commande TabBridgeClientWorker), le nom du jeton dans le fichier JSON, et le nom du jeton lors de la génération du PAT dans Tableau Cloud.

  2. Définissez les paramètres régionaux dans le Docker en utilisant ENV LC_ALL en_US.UTF-8. Vous pouvez également définir les paramètres régionaux en ajoutant ce qui suit au fichier /etc/profile.
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Démarrez une instance du conteneur Bridge. Vous pouvez configurer et démarrer l’image du conteneur de plusieurs façons. La méthode interactive suivante explique les étapes nécessaires pour démarrer le subordonné. Lorsque vous quittez l’application, le conteneur cesse de fonctionner.
    1. Utilisez la méthode suivante pour accéder en tant que root à l’invite de l’interpréteur de commandes du conteneur. Les autres commandes sont exécutées dans le cadre de cette session interactive du conteneur.

      docker container run -it bridge_final /bin/bash

    2. Ajoutez le jeton d’accès personnel à un fichier plat au format JSON. Par exemple :

      /home/jSmith/Documents/MyTokenFile.txt

    3. Exemple de syntaxe de jeton :

      {"MyToken" : "uLICC7e8SUS8ZNGe8RIFn4u==:lRihmYHI0XBKle7e8S4uSORXGqAkAl4"}

    4. Modifiez les autorisations du fichier pour restreindre l’accès à l’utilisateur actuel. Par exemple :

      chmod 600 MyTokenFile.txt

    5. Démarrez le subordonné en exécutant la commande TabBridgeClientWorker et fournissez les options de commande suivantes :

      CommandeDescription
      TabBridgeClientWorker -eCommande pour démarrer le subordonné du client Bridge. L’argument -e est requis et exécute la commande au premier plan. Le mode arrière-plan n’est pas pris en charge actuellement.
      --patTokenIdIdentifiant du jeton d’accès personnel. Consultez Jetons d’accès personnels pour plus d’information.
      --userEmailCourriel de l’utilisateur associé au jeton d’accès personnel.
      --clientNom que vous souhaitez attribuer au subordonné.
      --siteNom du site tel qu’il apparaît dans l’URI. Ne saisissez pas le chemin de l’URI.
      --patTokenFileNom de fichier et chemin d’accès au fichier texte du jeton d’accès personnel.
      --poolId(Facultatif) Identifiant de pool attribué au client. Consultez Utiliser un identifiant de pool.

      Exemple de commande

      /opt/tableau/tableau_bridge/bin/TabBridgeClientWorker -e --patTokenId="Mytoken" --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --patTokenFile="/home/jSmith/Documents/MyTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"
  5. Le message suivant indique que l’agent est démarré. “Service started: ...”

    Utilisez Control-C pour arrêter le subordonné. Au lieu de redémarrer le subordonné, vous pouvez lancer un nouveau subordonné pour l’image du conteneur.

    Si vous n’avez pas attribué de pool avec l’option de commande --poolId, le client est attribué au pool par défaut. Si vous souhaitez utiliser le client avec des domaines ou des connexions virtuelles spécifiques, vous pouvez attribuer le client à un pool désigné dans l’interface utilisateur. Pour ce faire, accédez au menu Tableau Cloud Accueil > Paramètres > Bridge. Pour plus d’information, consultez Configurer le pool de clients Bridge.

Utiliser un identifiant de pool

Lors du démarrage du Bridge Worker à l’aide de la commande TabBridgeClientWorker , le poolId est facultatif. Toutefois, le comportement du client dépend de son inscription sur un site et de son affectation à un pool. Tableau Bridge ne peut se connecter qu’à un seul site Tableau Cloud à la fois. Le client est enregistré sur un site lorsque vous vous déconnectez et vous reconnectez.

Si aucun identifiant de pool n’est fourni

  • Si le client Bridge a été enregistré, le statut du client reste le même :
    • Si le client est affecté à un pool, il reste affecté au pool, qu’il s’agisse d’un pool nommé ou d’un pool par défaut.
    • Si le client n’est pas affecté à un pool, il restera non attribué.
  • Si le client Bridge est nouveau (vous ne vous êtes jamais connecté à Tableau Cloud), le client est affecté au pool par défaut.

Si un identifiant de pool est fourni

  • Si l’identifiant de pool est fourni et qu’il est correct, le client Bridge est affecté au pool nommé.
  • Si l’identifiant de pool est fourni et qu’il est incorrect :
    • Si le client Bridge n’est pas enregistré, alors le client est affecté au pool par défaut.
    • Si le client Bridge est enregistré, le statut du client reste le même, qu’il soit affecté à un pool nommé, à un pool par défaut ou qu’il soit non attribué.

Trouver l’identifiant de pool

Pour trouver l’identifiant de pool, accédez à la page Paramètres > Bridge et cliquez sur le nom du pool. Par exemple :

Résolution des problèmes

Utilisation des fichiers journaux

Les fichiers journaux sont stockés dans le dossier My_Tableau_Bridge_Repository/Logs de l’utilisateur. Pour enregistrer des fichiers journaux dans un dossier tmp , exécutez la commande suivante :

docker container run --volume /tmp/bridge_logs:/root/Documents/My_Tableau_Bridge_Repository/Logs -it bridge_final /bin/bash

Dans cet exemple, l’emplacement est /tmp/bridge_logs. L’utilisation de la commande Docker simplifie l’enregistrement des fichiers journaux et évite de devoir copier manuellement les fichiers journaux de Bridge du conteneur à votre système de fichiers locaux.

Échec du pilote MySQL

Si les LC_MESSAGES ne sont pas définis avec les paramètres régionaux UTF-8, des problèmes de lecture et d’affichage peuvent se produire. Vous pouvez modifier le fichier /etc/profile ou relancez le subordonné en utilisant la commande suivante

LC_ALL=en_US.UTF-8 /opt/tableau/tableau_bridge/bin/TabBridgeClientWorker -e

Merci de vos commentaires!Votre commentaire s été envoyé avec succès. Merci!