Introdução
O Tableau Server em um Contêiner é a primeira oferta de servidor em contêiner do Tableau. O Tableau Server em um contêiner é uma instância multifuncional do Tableau Server em execução dentro de um contêiner Docker do Linux. Em outras palavras, um Tableau Server em um Contêiner é uma imagem de docker que executa um aplicativo completo e independente do Tableau Server. O Tableau Server em um Contêiner é o primeiro de muitos passos para aceitar a execução do Tableau Server em um ambiente de contêineres.
A maneira mais fácil de entender o conceito do Tableau Server em um Contêiner é imaginá-lo como uma VM com o Tableau Server pré-instalado. A imagem é baseada em uma imagem do CentOS e executa supervisord
(em vez de systemd
) no contêiner. Quando o contêiner é iniciado, o supervisord
imediatamente tenta inicializar e executar o Tableau Server. Grande parte desta documentação visa descrever como estabelecer a configuração e utilizar a automação de modo que você possa executar o Tableau Server em ambientes do Docker.
A ferramenta de configuração de Tableau Server em uma Imagem de contêiner ajuda a criar e personalizar imagens de contêiner para incluir pacotes e artefatos personalizados. Uma das funções principais da ferramenta é criar a imagem do contêiner e instalar conectores de dados personalizados.
Limitações
- O Tableau Server em um Contêiner oferece suporte apenas à ativação de licença usando Server ATR, que exige que o contêiner tenha acesso à Internet. Portanto, não é possível a ativação offline em um ambiente fisicamente isolado.
- O Tableau Server em um Contêiner atualmente não é compatível com o agente da Ferramenta de monitoramento de recursos (RMT).
- O Kerberos não é compatível com o Tableau Server em um Contêiner.
Para testar o Tableau Server em uma imagem de contêiner rapidamente em cenários à prova de conceito, consulte Tableau Server em um Contêiner - Início Rápido .
Fluxo de trabalho básico do Tableau Server em um Contêiner
Aqui está o fluxo de trabalho básico para usar o Tableau Server em um Contêiner Você pode encontrar instruções detalhadas para cada etapa nos links.
- Use a ferramenta de configuração para criar uma imagem personalizada do Tableau Server em um contêiner. Consulte Tableau Server em um Contêiner - Usar ferramenta de configuração.
- Execute a imagem que você criou para iniciar e usar o Tableau Server em um contêiner. Consulte Tableau Server em um Container - Utilização de uma imagem.
Considerações sobre os recursos do Tableau Server
Alguns recursos do Tableau Server funcionam de maneira diferente em contêineres. Esta seção cobre recursos específicos que têm considerações especiais ou diferentes em um ambiente de contêiner.
Active Directory
Definir controlador de domínio AD
Se você planeja usar o Active Directory como um armazenamento de identidade para páginas e sites do Tableau Server, há uma consideração adicional a ser considerada. Os Tableau Servers em execução em ambientes Linux determinam dinamicamente com qual controlador de domínio AD se comunicar examinando sua sub-rede IP. Os contêineres podem ser atribuídos a endereços IP arbitrários e, neste caso, o Tableau Server não será necessariamente capaz de usar seu endereço IP para encontrar um controlador de domínio apropriado. Por esse motivo, pode ser necessário configurar um controlador de domínio/nome de host específico com o qual o Tableau Server se comunique. Para resolver isso, siga essas etapas:
- Determine qual controlador de domínio você deseja que o Tableau Server use e obtenha o nome do host.
-
Defina a chave de configuração
wgserver.domain.ldap.hostname
ao nome do host usando as opções de configuração padrão do administrador do Tableau Server:- Defina o valor no arquivo de configuração json
CONFIG_FILE
. -
Use o comando configuração do TSM
tsm configuration set -k wgserver.domain.ldap.hostname -v <hostname>
- Defina o valor no arquivo de configuração json
Importar certificado AD para o reposistório de chaves do Tableau Server
Por padrão, o Tableau Server em um contêiner se comunica com o AD via StartTLS, sempre que o vínculo simples é usado. Portanto, quando o contêiner é executado nesta configuração, é necessário importar o certificado do servidor AD para o repositório de chaves do Tableau Server Keystore, caso contrário, a inicialização do servidor falhará. Para resolver isso, siga essas etapas:
-
Crie um script
pre-init-command
(verifique a seção Script de pré-inicialização). Adicione a seguinte linha para acrescentar o certificado AD ao repositório de chaves do Tableau Server.${INSTALL_DIR}/packages/repository.${SERVICE_VERSION}/jre/bin -importcert -noprompt -alias startTlsCert -file <mounted-certificate-path> -storetype JKS -storepass changeit -keystore ${DATA_DIR}/config/tableauservicesmanagerca.jks
- Monte o certificado do servidor AD no caminho de arquivo fornecido para o parâmetro
-file
no scriptpre-init-command
.
Como alternativa, a configuração padrão para se comunicar com o AD via StartTLS pode ser desabilitada. Defina wgserver.domain.ldap.starttls.enabled
para false
para desativar o StartTLS. Mas não é recomendado.
Exemplos de configuração de implantação
Docker
Uso básico do Tableau Server em um Contêiner
docker run \ -e LICENSE_KEY=<key> -p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Uso básico do Tableau Server em um Contêiner com Usuário administrador inicial automatizado
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>
Único modo do TSM
docker run \ -e TSM_ONLY=1 \ -p 8080:8080 -d <Tableau Server in a Container image ID or tag>
Uso básico de vários nós
Nó inicial
Opção 1: use se a configuração do servidor (CONFIG_FILE
) especifica uma topologia de vários nós:
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>
Opção 2: use se desejar uma implantação de vários nós, mesmo se a configuração do servidor não especificar a topologia de vários nós:
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>
Nó adicional
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>
Externalizar o uso de dados
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>
Uso básico do init-container
Contêiner Init
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>
Contêiner de execução
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>
Restauração básica do nó único de backup
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>