Tableau Server in een container

Inleiding

Tableau Server in een container is het eerste containergebaseerde serveraanbod van Tableau. Tableau Server in een container is een alles-in-één Tableau Server-instantie die wordt uitgevoerd in een Linux Docker-container. Met andere woorden: een afbeelding van Tableau Server in een container is een Docker-afbeelding die een volledige, zelfstandige Tableau Server-toepassing uitvoert. Tableau Server in een container is de eerste stap in ons proces om het uitvoeren van Tableau Server in containergebaseerde omgevingen mogelijk te maken.

De eenvoudigste manier om het concept van Tableau Server in een container te begrijpen, is door het te zien als een virtuele machine waarop Tableau Server vooraf is geïnstalleerd. De afbeelding is gebaseerd op een UBI 8-afbeelding (CentOS 7 voor versie 2022.1 en lager) en voert supervisord uit (in plaats van systemd) in de container. Wanneer de container supervisord start, wordt er onmiddellijk geprobeerd om Tableau Server te initialiseren en te starten. Een groot deel van de documentatie hier beschrijft hoe u configuratie kunt bieden en automatisering kunt benutten, zodat u Tableau Server in Docker-omgevingen kunt uitvoeren.

Met de configuratietool van Tableau Server in een container-afbeelding kunt u container-afbeeldingen maken en aanpassen, zodat u aangepaste pakketten en artefacten kunt toevoegen. Een van de belangrijkste functies van de tool is het bouwen van de containerafbeelding en het installeren van aangepaste dataconnectors.

Beperkingen voor Tableau Server in een container

  • Tableau Server in een container ondersteunt alleen licentieactivering met behulp van Server ATR. Offline activering met Server ATR wordt ondersteund in 2023.1 en later. Deze functionaliteit is beschikbaar in containers, maar vereist extra stappen en goedkeuring. Als u Tableau Server in een container wilt uitvoeren in een niet-verbonden of offline omgeving, neem dan contact op met uw accountvertegenwoordiger voor meer informatie.
  • Tableau Server in een container ondersteunt momenteel de RMT-agent (Resource Monitoring Tool) niet.
  • Kerberos wordt niet ondersteund in Tableau Server in een container.

Zie Tableau Server in een container – Snelle start om de afbeelding van Tableau Server in een container snel te testen in een Proof of Concept-scenario.

Basisworkflow voor Tableau Server in een container

Hier volgt de basisworkflow voor het gebruik van Tableau Server in een container. Gedetailleerde instructies voor elke stap vindt u in de links.

  1. Gebruik de set-up-tool om een aangepaste afbeelding van Tableau Server in een container te maken. Zie Tableau Server in een container – De set-up-tool gebruiken.
  2. Voer de afbeelding uit die u hebt gemaakt om Tableau Server in een container te starten en te gebruiken. Zie Tableau Server in een container - Een afbeelding gebruiken.

Overwegingen voor Tableau Server-functies

Sommige Tableau Server-functies werken anders in containers. In dit gedeelte worden specifieke functies besproken waarvoor in een containeromgeving speciale of andere overwegingen gelden.

Active Directory

AD-domeincontroller instellen

Als u van plan bent om Active Directory te gebruiken als identiteitenarchief voor Tableau Server-webpagina's en -sites, moet u nog een extra overweging maken. Tableau-servers die in Linux-omgevingen draaien, bepalen dynamisch met welke AD-domeincontroller moet worden gecommuniceerd door hun IP-subnet te onderzoeken. Er kunnen willekeurige IP-adressen aan containers worden toegewezen. In dat geval kan Tableau Server het IP-adres niet noodzakelijkerwijs gebruiken om een geschikte domeincontroller te vinden. Daarom kan het nodig zijn om een specifieke domeincontroller/hostnaam te configureren waarmee Tableau Server kan communiceren. Om dit te doen, volgt u deze stappen:

  1. Bepaal welke domeincontroller u wilt dat Tableau Server gebruikt en haal de hostnaam op.
  2. Stel de configuratiesleutel wgserver.domain.ldap.hostname in op de hostnaam met behulp van de standaardconfiguratieopties van de Tableau Server-beheerder:

    • Stel de waarde in het json-configuratiebestand CONFIG_FILE in.
    • Gebruik de TSM-configuratieopdracht

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

AD-certificaat importeren naar Tableau Server-sleutelopslag

Standaard communiceert Tableau Server in een container met AD via StartTLS wanneer eenvoudige binding wordt gebruikt. Wanneer de container in deze configuratie wordt uitgevoerd, is het noodzakelijk om het AD-servercertificaat te importeren naar de Tableau Server-sleutelopslag, anders mislukt de serverinitialisatie. Om dit te doen, volgt u deze stappen:

  1. Maak een pre-init-command-script (zie sectie Pre-initialisatiescript). Voeg de volgende regel toe om het AD-certificaat toe te voegen aan de sleutelopslag van Tableau Server.

    ${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. Koppel het AD-servercertificaat aan het opgegeven bestandspad voor de -file-parameter in het pre-init-command-script.

Een alternatieve optie is om de standaardinstelling voor communicatie met AD via StartTLS uit te schakelen. Stel wgserver.domain.ldap.starttls.enabled in op false om de StartTLS uit te schakelen. Maar dat raden we niet aan.

Opmerking: Voor een voorbeeld van een configuratie-entiteit met AD, zie LDAP - Active Directory.

Voorbeelden van implementatieconfiguraties

Docker

Basisgebruik van Tableau Server in een container
docker run \
-e LICENSE_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>
Basisgebruik van Tableau Server in een container met geautomatiseerde initiële beheerdersgebruiker
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>
Alleen TSM-modus
docker run \
-e TSM_ONLY=1 \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Basisgebruik van meerdere knooppunten
Eerste knooppunt

Optie 1: Gebruik dit als de serverconfiguratie (CONFIG_FILE) een topologie met meerdere knooppunten specificeert:

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>

Optie 2: Gebruik dit als u een implementatie met meerdere knooppunten wilt, zelfs als de serverconfiguratie geen topologie met meerdere knooppunten specificeert:

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>
Extra knooppunt
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>
Datagebruik externaliseren
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>
Basisgebruik van Eerste container

Eerste 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>

Container uitvoeren

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>
Basisherstel van back-up met één knooppunt
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 \
-e LICENSE_KEY=<key> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

Docker-samenstelling

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>

 

 

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.