Tableau Server i en container

Introduktion

Tableau Server i en container är Tableaus första containerbaserade server. Tableau Server i en container är en heltäckande Tableau Server-instans som körs inuti en Linux Docker-container. Med andra ord är en Tableau Server i en container-avbildning en Docker-avbildning som kör ett helt fristående Tableau Server-program. Tableau Server i en container är det första av våra många steg mot att stödja Tableau Server som körs i container-baserade miljöer.

Det enklaste sättet att förstå begreppet Tableau Server i en container är att se det som en virtuell dator med Tableau Server förinstallerat. Avbildningen bygger på en UBI 8-avbildning (CentOS 7 för version 2022.1 och tidigare) och kör supervisord (instället för systemd) inuti behållaren. När behållaren startar supervisord försöker den omedelbart initiera och starta Tableau Server. Syftet med en stor del av dokumentationen här är att beskriva hur du kan skapa konfigurationer och använda automatisering för att köra Tableau Server i Docker-miljöer.

Med verktyget för avbildningskonfiguration för Tableau Server i en container kan du skapa och anpassa container-avbildningar så att de inkluderar anpassade paket och artefakter. En av verktygets primära funktioner är att bygga behållaravbildningen och installera anpassade datakopplingar.

Begränsningar för Tableau Server i en behållare

  • Tableau Server i en behållare stöder endast licensaktivering med hjälp av Server ATR. Offlineaktivering med Server ATR stöds i 2023.1 och senare. Denna funktion är tillgänglig i behållare men kräver extra steg och godkännande. Om du behöver köra Tableau Server i en behållare i en frånkopplad miljö eller offlinemiljö kontaktar du din kontorepresentant för mer information.
  • Tableau Server i en container stöder för närvarande inte RMT-agenten (Resource Monitoring Tool).
  • Kerberos stöds inte i Tableau Server i en container.

Om du snabbt vill testa Tableau Server i en container-avbildning i ett proof-of-concept-scenario kan du läsa Tableau Server i en container - Snabbstart.

Grundläggande arbetsflöde för Tableau Server i en container

Det här är det grundläggande arbetsflödet för att använda Tableau Server i en container. Klicka på länkarna om du vill ha detaljerade anvisningar för de olika stegen.

  1. Använd installationsverktyget för att skapa en anpassad avbildning av Tableau Server i en container. Läs mer i Tableau Server i en container - Använda installationsverktyget.
  2. Kör avbildningen du skapade för att starta och använda Tableau Server i en container. Läs mer i Tableau Server i en container - Hur man använder en avbildning.

Överväganden om funktioner i Tableau Server

Vissa Tableau Server-funktioner fungerar annorlunda i behållare. Det här avsnittet handlar om specifika funktioner som kräver särskilda eller annorlunda överväganden i en behållarmiljö.

Active Directory

Ange AD-domänkontrollant

Om du planerar att använda Active Directory som ett identitetsregister för Tableau Server-webbsidor och webbplatser finns det ytterligare en sak att ta hänsyn till. Tableau Server som körs i Linux-miljöer avgör dynamiskt vilken Ad-domänkontrollant den kommunicerar med genom att undersöka dess IP-undernät. Containers kan tilldelas godtyckliga IP-adresser och i det här fallet kommer Tableau Server inte nödvändigtvis kunna använda sin IP-adress för att hitta en lämplig domänkontrollant. Därför kan det vara nödvändigt att konfigurera en specifik domänkontrollant eller ett specifikt värdnamn som Tableau Server ska kommunicera med. Gör detta genom att följa dessa steg:

  1. Ta reda på vilken domänkontrollant du vill att Tableau Server ska använda och hämta värdnamnet.
  2. Ange konfigurationsnyckeln wgserver.domain.ldap.hostname till värdnamnet med standardkonfigurationsalternativen för Tableau Server Admin:

    • Ange värdet i json-konfigurationsfilen CONFIG_FILE.
    • Använd TSM-konfigurationskommandot

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

Importera AD-certifikat till Tableau Server-nyckelarkiv

Som standard kommunicerar Tableau Server i en container med AD via StartTLS när enkel bindning används. När behållaren körs i den här konfigurationen måste du alltså importera AD-servercertifikatet till Tableau Server-nyckelarkiv, annars misslyckas serverinitieringen. Gör detta genom att följa dessa steg:

  1. Skapa ett pre-init-command-skript (se avsnittet om skript inför initiering). Lägg till följande rad för att lägga till AD-certifikatet i Tableau Server-nyckelarkiv.

    ${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. Installera AD-servercertifikatet på den filsökväg som anges för parametern -file i skriptet pre-init-command.

Ett alternativ är att inaktivera standardinställningen för kommunikation med AD via StartTLS. Ställ in wgserver.domain.ldap.starttls.enabled som false så inaktiveras StartTLS. Detta rekommenderas dock inte.

Obs! Se LDAP – Active Directory för ett exempel på en konfigurationsenhet med AD.

Exempel på konfiguration för driftsättning

Docker

Grundläggande användning av Tableau Server i en container
docker run \
-e LICENSE_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>
Grundläggande användning av Tableau Server i en container med automatisk första administratörsanvändare
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>
Endast TSM-läge
docker run \
-e TSM_ONLY=1 \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Grundläggande användning med flera noder
Ursprunglig nod

Alternativ 1: Använd detta om serverkonfigurationen (CONFIG_FILE) föreskriver en topologi med flera noder:

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>

Alternativ 2: Använd detta om du vill ha en konfiguration med flera noder även om serverkonfigurationen inte föreskriver en topologi med flera noder:

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>
Ytterligare nod
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>
Externalisera dataanvändningen
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>
Grundläggande användning av Init-container

Init-behållare

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>

Körningsbehållare

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>
Grundläggande återställning från enkel säkerhetskopieringsnod
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 – 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>

 

 

Tack för din feedback!Din feedback har skickats in. Tack!