Clonare Tableau Server

A partire dalla versione 2022.3 di Tableau Server, un nuovo comando tsm consente di creare una copia della configurazione e della topologia di una distribuzione di Tableau Server e di utilizzarla per creare una replica esatta della distribuzione originale. Il comando, tsm settings clone, crea un insieme di file (the "payload del clone") che include impostazioni, segreti, configurazione e topologia, incluse le porte utilizzate e le informazioni sui servizi esterni.

Considerazioni sulla sicurezza

Il comando tsm settings clone genera un insieme di file (il "payload del clone") che contiene tutti i segreti generati da Tableau Server e quelli forniti dall’amministratore del server durante la configurazione, incluso un archivio chiavi contenente coppie di chiavi e certificati. Ai fini della sicurezza, è molto importante proteggere il payload del clone e la posizione dell’output. A tale scopo:

  • Se la directory di output non esiste, tsm la creerà con accesso limitato all’utente che esegue il comando tsm settings clone.
  • Se la directory di output esiste quando esegui il comando, tsm verificherà che sia di proprietà dell’utente che esegue il comando e che le autorizzazioni sono limitate solo a quell’utente. Se la directory non dispone delle autorizzazioni previste, viene visualizzato il messaggio:

    The output directory '<path/to/directory>' exists, but must be restricted to owner only.

Limitazioni del payload del clone

  • La versione di Tableau Server clonata deve corrispondere alla versione creata. Non è possibile installare una versione più recente di Server utilizzando un payload del clone di una versione meno recente.

Utilizzo del comando di clonatura per creare una copia di Tableau Server

La creazione di una copia clonata di Tableau Server è un processo a più fasi, i cui due passaggi generali sono:

  1. Creazione di un payload del clone dall’installazione di Tableau Server che vuoi duplicare.
  2. Utilizzo del payload del clone per installare una seconda distribuzione di Tableau Server. Devi assicurarti che la topologia delle due installazioni corrisponda, aggiungendo ulteriori nodi per ottenere la corrispondenza alla distribuzione originale.

Creazione del payload del clone

Per generare un insieme di file (payload del clone) che contenga le impostazioni di configurazione e topologia per Tableau Server, utilizza il comando tsm settings clone. Il comando accetta un solo argomento, ovvero la directory di output dove salvare l’insieme di file:

tsm settings clone --output-directory <output_directory>

Dopo aver creato il payload del clone, puoi utilizzarlo durante l’installazione di una nuova istanza di Tableau Server con la configurazione e la topologia identiche all’installazione di origine.

Utilizzo del payload del clone per creare una copia di Tableau Server

  1. Installa il pacchetto Tableau Server nel nodo iniziale. Non inizializzare Tableau Server. Installare il pacchetto Tableau Server

  2. Esegui lo script initialize-tsm e specifica il percorso al payload del clone creato dal comando tsm settings clone:

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/initialize-tsm --accepteula --clone-artifact-dir=<path-to-clone-directory>

    Nota: Tableau Server viene eseguito come utente Tableau senza privilegi, perciò l’amministratore deve assicurarsi che l’utente Tableau disponga di accesso in lettura alle directory e ai file del clone. In genere ciò richiede che vengano concesse autorizzazioni in lettura per il contenuto della directory del clone e autorizzazioni di esecuzione (per l’attraversamento) per tutte le directory principali ad "altri".

  3. (Opzionale) Installa nodi aggiuntivi affinché il numero di nodi corrisponda a quello dell’installazione originale (clonata) di Tableau Server. Se l’installazione originale presenta nodi aggiuntivi, questo passaggio è obbligatorio. Installa nodi aggiuntivi solo fino al numero di nodi corrispondente a quello dell’installazione originale.

    1. Genera il file di bootstrap sul nodo iniziale:
    2. Installa Tableau Server su ciascun nodo aggiuntivo ed esegui lo script initialize-tsm:

      Installare e configurare nodi aggiuntivi

  4. Nel nodo iniziale completa l’inizializzazione:

    tsm initialize

Contenitore

La funzionalità di clonatura è comoda quando si utilizza Tableau Server in un contenitore, soprattutto se utilizzato con repository e archiviazione esterni. Il comando di clonatura consente all’amministratore di ricreare rapidamente un ambiente Tableau Server e di collegare nuovamente i servizi esterni.

Nota: i passaggi per creare nuovamente il cluster Tableau Server possono variare in base alle tecnologie di contenitore utilizzate (ad esempio: docker, docker compose o Kubernetes).

Le informazioni riportate di seguito sono specifiche per l’utilizzo diretto di docker. Durante l’avvio del contenitore del nodo iniziale, devi specificare la posizione del payload del clone utilizzando la variabile di ambiente CLONE_ARTIFACT_DIR.

Ad esempio:

docker run \
-v <path-to-clone-directory>:/docker/custom-clone-path \
-e CLONE_ARTIFACT_DIR=/docker/custom-clone-path \
-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>

Ricreare una distribuzione multi-nodo di Tableau Server in un contenitore

Se il payload del clone proviene da una distribuzione multi-nodo di Tableau Server, il contenitore iniziale attenderà che nodi aggiuntivi si uniscano al cluster.

La configurazione di nodi aggiuntivi nel cluster quando si utilizza il clone è uguale all’aggiunta di nodi in una distribuzione regolare e richiede:

  • Montaggio di volumi per la condivisione del file di bootstrap tra i nodi
  • Specifica delle variabili di ambiente ALWAYS_WRITE_BOOTSTRAP_FILE e BOOTSTRAP_INSTALL

I passaggi dettagliati per la creazione di una ambiente multi-nodo in una distribuzione in un contenitore sono container sono disponibili qui: Configurazione multi-nodo di Tableau Server in un contenitore.

Nota: il payload del clone deve essere montato e utilizzato solo nel nodo iniziale del cluster. Non è necessario montare il payload del clone sui nodi aggiuntivi.

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!