Tableau Server in einem Container

Einführung

Tableau Server in einem Container ist das erste containerbasierte Serverangebot von Tableau. Tableau Server in einem Container ist eine All-in-One-Tableau Server-Instanz, die in einem Linux-Docker-Container ausgeführt wird. Mit anderen Worten: Ein Image von Tableau Server in einem Container ist ein Docker-Image, das eine komplette, eigenständige Tableau Server-Anwendung ausführt. Tableau Server in einem Container ist unser erster von vielen Schritten zur Unterstützung von Tableau Server in einer containerbasierten Umgebung.

Die einfachste Möglichkeit, das Konzept von Tableau Server in einem Container zu verstehen, besteht darin, es sich wie eine VM mit vorinstalliertem Tableau Server vorzustellen. Das Image basiert auf einem UBI 8-Image (CentOS 7 für Version 2022.1 und früher) und führt supervisord (anstelle von systemd) innerhalb des Containers aus. Wenn der Container supervisord startet, versucht er sofort, Tableau Server zu initialisieren und zu starten. Ein Großteil dieser Dokumentation beschreibt, wie Sie die Konfiguration bereitstellen und die Automatisierung nutzen können, damit Sie Tableau Server in Docker-Umgebungen ausführen können.

Mit dem Einrichtungstool für ein "Tableau Server in einem Container"-Image können Sie Container-Images erstellen und so anpassen, dass es benutzerdefinierte Pakete und Artefakte enthält. Eine der Hauptfunktionen des Tools besteht darin, das Container-Image zu erstellen und benutzerdefinierte Datenconnectoren zu installieren.

Beschränkungen für Tableau Server in einem Container

  • Tableau Server in einem Container unterstützt nur die Lizenzaktivierung mit Server ATR. Die Offline-Aktivierung mit Server ATR wird ab 2023.1 unterstützt. Diese Funktionalität ist zwar in Containern verfügbar, erfordert jedoch zusätzliche Schritte und Genehmigung. Wenn Sie Tableau Server in einem Container in einer Air-Gap- oder Offline-Umgebung ausführen müssen, wenden Sie sich für weitere Informationen an Ihren Kundenbetreuer.
  • Tableau Server in einem Container unterstützt derzeit den Resource Monitoring Tool (RMT)-Agent nicht.
  • Kerberos wird in Tableau Server in einem Container nicht unterstützt.

Informationen zum schnellen Testen des Images von Tableau Server in einem Container im Rahmen eines Machbarkeitsnachweises finden Sie unter Tableau Server in einem Container – Schnellstart.

Grundlegender Workflow für Tableau Server in einem Container

Hier ist der grundlegende Workflow für die Verwendung von Tableau Server in einem Container. In den Links finden Sie detaillierte Anweisungen für jeden Schritt.

  1. Verwenden Sie das Einrichtungstool, um ein benutzerdefiniertes Image von Tableau Server in einem Container zu erstellen. Siehe Tableau Server in einem Container – Verwendung des Einrichtungstools.
  2. Führen Sie das erstellte Image aus, um Tableau Server in einem Container zu starten und zu verwenden. Siehe Tableau Server in einem Container – Verwenden eines Images.

Überlegungen zu Tableau Server-Funktionen

Einige Tableau Server-Funktionen verhalten sich in Containern anders. In diesem Abschnitt werden bestimmte Funktionen behandelt, für die in einer Containerumgebung besondere oder andere Überlegungen gelten.

Active Directory

Festlegen von AD-Domänencontroller

Wenn Sie Active Directory als Identitätsspeicher für Tableau Server-Webseiten und -Sites verwenden möchten, müssen Sie einen zusätzlichen Hinweis berücksichtigen. Instanzen von Tableau Server, die in Linux-Umgebungen ausgeführt werden, bestimmen dynamisch, mit welchem AD-Domänencontroller kommuniziert werden soll, indem sie ihr IP-Subnetz untersuchen. Containern können beliebige IP-Adressen zugewiesen werden und in diesem Fall ist Tableau Server nicht unbedingt in der Lage, anhand seiner IP-Adresse einen passenden Domänencontroller zu finden. Aus diesem Grund kann es erforderlich sein, einen bestimmten Domänencontroller/Hostnamen für die Kommunikation mit Tableau Server zu konfigurieren. Gehen Sie dazu wie folgt vor:

  1. Bestimmen Sie, welchen Domänencontroller Tableau Server verwenden soll, und rufen Sie den Hostnamen ab.
  2. Legen Sie den Konfigurationsschlüssel wgserver.domain.ldap.hostname über die standardmäßigen Administratorkonfigurationsoptionen von Tableau Server auf den Hostnamen fest:

    • Legen Sie den Wert in der JSON-Konfigurationsdatei CONFIG_FILE fest.
    • Verwenden Sie den TSM-Konfigurationsbefehl

      tsm configuration set -k wgserver.domain.ldap.hostname -v <hostname>

Importieren eines AD-Zertifikats in den Tableau Server-Schlüsselspeicher

Standardmäßig kommuniziert Tableau Server in einem Container mit AD über StartTLS, wenn die einfache Bindung verwendet wird. Wenn der Container also in dieser Konfiguration ausgeführt wird, muss das AD-Serverzertifikat in den Tableau Server-Schlüsselspeicher importiert werden, da sonst die Serverinitialisierung fehlschlägt. Gehen Sie dazu wie folgt vor:

  1. Erstellen Sie ein Skript pre-init-command (siehe Abschnitt "Vorinitialisierungsskript"). Fügen Sie die folgende Zeile hinzu, um das AD-Zertifikat zum Tableau Server-Schlüsselspeicher hinzuzufügen.

    ${INSTALL_DIR}/packages/repository.${SERVICE_VERSION}/jre/bin/keytool -importcert -noprompt -alias startTlsCert -file <mounted-certificate-path> -storetype JKS -storepass changeit -keystore ${DATA_DIR}/config/tableauservicesmanagerca.jks
  2. Binden Sie das AD-Serverzertifikat in den Dateipfad ein, der für den Parameter -file im Skript pre-init-command angegeben ist.

Alternativ kann die Standardeinstellung zur Kommunikation mit AD über StartTLS deaktiviert werden. Legen Sie wgserver.domain.ldap.starttls.enabled auf false fest, um StartTLS zu deaktivieren. Dies wird jedoch nicht empfohlen.

Hinweis: Ein Beispiel für eine Konfigurationsentität mit AD finden Sie unter LDAP – Active Directory.

Beispiele für Bereitstellungskonfigurationen

Docker

Grundlegende Verwendung von Tableau Server in einem Container
docker run \
-e LICENSE_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>
Grundlegende Verwendung von Tableau Server in einem Container mit automatisiertem ursprünglichem Administratorbenutzer
docker run \
-e LICENSE_KEY=<key> \
-e TABLEAU_USERNAME=<myadmin> \
-e TABLEAU_PASSWORD_FILE=/etc/tableau-admin-secret \
-v <full-path-to-pw-file>:/etc/tableau-admin-secret \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Nur TSM-Modus
docker run \
-e TSM_ONLY=1 \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Grundlegende Verwendung mehrerer Knotenpunkte
Anfangsknoten

Option 1: Verwenden Sie Folgendes, wenn die Serverkonfiguration (CONFIG_FILE) eine Topologie mit mehreren Knoten vorgibt:

docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-v <full-path-to-config-file>:/docker/config/config.json:ro \
-e LICENSE_KEY=<key> \
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \
--hostname=<static (internal) name of host machine> \
-d <Tableau Server in a Container image ID or tag>

Option 2: Verwenden Sie Folgendes, wenn Sie eine Bereitstellung mit mehreren Knoten wünschen, auch wenn die Serverkonfiguration keine Topologie mit mehreren Knoten vorgibt:

docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-e LICENSE_KEY=<key> -e ALWAYS_WRITE_BOOTSTRAP_FILE=1 \
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \
--hostname=<static (internal) name of host machine> \
-d <Tableau Server in a Container image ID or tag>
Weiterer Knoten
docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-e BOOTSTRAP_INSTALL=1 \
-p 8080:8080 -p 8800-9000:8800-9000 \
--hostname=<static (internal) name of host machine> \
-d <Tableau Server in a Container image ID or tag>
Externalisieren der Datennutzung
docker run \
-v <empty-data-dir>:/var/opt/tableau \
-e LICENSE_KEY=<key> \
--hostname=<static (internal) name of host machine> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Grundlegende Verwendung des Init-Containers

Init-Container

docker run \
-v <empty-data-dir>:/var/opt/tableau \
-e LICENSE_KEY=<key> \
-e INIT_CONTAINER=1 \
--hostname=<static (internal) name of host machine> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

Ausführen des Containers

docker run \
-v <empty-data-dir>:/var/opt/tableau \
--hostname=<static (internal) name of host machine> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Grundlegendes Wiederherstellen aus einer Einzelknotensicherung
docker run \
-v <full-path-to-backup-file>:/docker/config/backup/backup-file.tsbak \
-v <full-path-to-config-only-file>:/docker/config/config.json:ro \
-v <full-path-to-identity-store-config-only-file>:/docker/config/identity-store-config.json \
-e LICENSE_KEY=<key> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

Docker Compose

version: '3.2'
services:
    tableau-server:
         hostname: localhost
         volumes:
              - <your-tsm-command-file>:/docker/config/tsm-commands:ro
              - <your-config-file >:/docker/config/config.json:ro
         ports:
              - "8080:8080"
         image: ${IMAGE_NAME}
         environment:
              - LICENSE_KEY=<license-key>

 

 

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.