Tableau Server 컨테이너

소개

Tableau Server 컨테이너는 Tableau의 첫 번째 컨테이너 기반 서버 제품군입니다. Tableau Server 컨테이너는 Linux Docker 컨테이너 내부에서 실행되는 올인원 Tableau Server 인스턴스입니다. 즉, Tableau Server 컨테이너 이미지는 완전히 독립된 전체 Tableau Server 응용 프로그램을 실행하는 docker 이미지입니다. Tableau Server 컨테이너는 컨테이너 기반 환경에서 실행되는 Tableau Server를 지원하기 위한 수많은 단계 중 첫 번째입니다.

Tableau Server 컨테이너 개념을 이해하는 가장 쉬운 방법은 Tableau Server가 사전 설치된 VM이라고 생각하는 것입니다. 이미지는 UBI 8 이미지(버전 2022.1 이하의 경우 CentOS 7)를 기반으로 하며 컨테이너 내부에서 systemd 대신 supervisord를 실행합니다. 컨테이너가 supervisord를 시작하면 Tableau Server가 즉시 초기화 및 시작됩니다. 여기에 있는 많은 설명서는 Tableau Server를 Docker 환경에서 실행할 수 있도록 구성을 제공하고 자동화를 활용하는 방법을 설명하는 데 목적이 있습니다.

Tableau Server 컨테이너 이미지 설정 도구를 사용하면 컨테이너 이미지를 만들고 사용자 지정 패키지와 아티팩트를 포함하도록 사용자 지정할 수 있습니다. 이 도구의 주요 기능 중 하나는 컨테이너 이미지를 만들고 사용자 지정 데이터 커넥터를 설치하는 것입니다.

Tableau Server 컨테이너 제한 사항

  • Tableau Server 컨테이너는 서버 ATR을 사용한 라이선스 활성화만 지원합니다. 서버 ATR을 사용한 오프라인 활성화는 2023.1 이상에서 지원됩니다. 이 기능은 컨테이너에서 사용할 수 있지만 추가 단계와 승인이 필요합니다. Air-Gapped 환경이나 오프라인 환경에서 Tableau Server 컨테이너를 실행해야 하는 경우 계정 담당자에게 자세한 내용을 문의하십시오.
  • Tableau Server 컨테이너는 현재 RMT(Resource Monitoring Tool) 에이전트를 지원하지 않습니다.
  • Tableau Server 컨테이너에서는 Kerberos가 지원되지 않습니다.

개념 증명 시나리오에서 Tableau Server 컨테이너 이미지를 빠르게 테스트하려면 Tableau Server 컨테이너 - 빠른 시작을 참조하십시오.

Tableau Server 컨테이너 기본 워크플로우

다음은 Tableau Server 컨테이너 사용에 대한 기본 워크플로우입니다. 링크에서 각 단계에 대한 세부 지침을 찾을 수 있습니다.

  1. 설치 도구를 사용하여 Tableau Server 컨테이너에 대한 사용자 지정 이미지를 만듭니다. Tableau Server 컨테이너 - 설정 도구 사용을 참조하십시오.
  2. 만든 이미지를 실행하여 Tableau Server 컨테이너를 시작하고 사용합니다. Tableau Server 컨테이너 - 이미지 사용을 참조하십시오.

Tableau Server 기능 고려 사항

일부 Tableau Server 기능은 컨테이너에서 다르게 작동합니다. 이 섹션에서는 컨테이너 환경에 특별히 적용되거나 다른 고려 사항이 있는 특정 기능에 대해 설명합니다.

Active Directory

AD 도메인 컨트롤러 설정

Active Directory를 Tableau Server 웹 페이지 및 사이트의 ID 저장소로 사용하려는 경우 고려해야 할 추가 사항이 있습니다. Linux 환경에서 실행되는 Tableau 서버는 IP 서브넷을 검사하여 통신할 AD 도메인 컨트롤러를 동적으로 결정합니다. 컨테이너는 임의의 IP 주소를 할당받을 수 있으며 이 경우 Tableau Server는 해당 IP 주소를 사용하여 적절한 도메인 컨트롤러를 찾을 수 없습니다. 따라서 Tableau Server와 통신하기 위해 특정 도메인 컨트롤러/호스트 이름을 구성해야 할 수 있습니다. 이를 수행하려면 다음 단계를 수행합니다.

  1. Tableau Server에서 사용할 도메인 컨트롤러를 결정하고 호스트 이름을 가져옵니다.
  2. 표준 Tableau Server 관리자 구성 옵션을 사용하여 wgserver.domain.ldap.hostname 구성 키를 호스트 이름으로 설정합니다.

    • json 구성 파일 CONFIG_FILE에서 값을 설정합니다.
    • TSM 구성 명령을 사용합니다.

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

AD 인증서를 Tableau Server 키 저장소로 가져오기

기본적으로 Tableau Server 컨테이너는 단순 바인딩이 사용될 때마다 StartTLS를 통해 AD와 통신합니다. 따라서 이 구성에서 컨테이너가 실행되는 경우 AD 서버 인증서를 Tableau Server 키 저장소로 가져와야 합니다. 그렇지 않으면 서버 초기화가 실패합니다. 이를 수행하려면 다음 단계를 수행합니다.

  1. pre-init-command 스크립트를 만듭니다(사전 초기화 스크립트 섹션 확인). 다음 줄을 추가하여 Tableau Server 키 저장소에 AD 인증서를 추가합니다.

    ${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. pre-init-command 스크립트의 -file 매개 변수에 제공된 파일 경로에 AD 서버 인증서를 마운트합니다.

또는 StartTLS를 통해 AD와 통신하기 위한 기본 설정을 사용하지 않도록 설정할 수 있습니다. wgserver.domain.ldap.starttls.enabledfalse 값으로 설정하여 StartTLS를 사용하지 않도록 설정합니다. 하지만 이는 권장하지 않습니다.

참고: AD를 사용하는 구성 항목에 대한 예제는 LDAP - Active Directory를 참조하십시오.

배포 구성 예

Docker

Tableau Server 컨테이너 기본 사용법
docker run \
-e LICENSE_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>
자동화된 초기 관리자 사용자가 있는 Tableau Server 컨테이너 기본 사용법
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>
TSM 전용 모드
docker run \
-e TSM_ONLY=1 \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
다중 노드 기본 사용법
초기 노드

옵션 1: 서버 구성(CONFIG_FILE)이 다중 노드 토폴로지를 지정하는 경우 이 옵션을 사용합니다.

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>

옵션 2: 서버 구성에서 다중 노드 토폴로지를 지정하지 않더라도 다중 노드 배포를 원하는 경우 이 옵션을 사용합니다.

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>
추가 노드
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>
데이터 외부화 사용법
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>
컨테이너 초기화 기본 사용법

컨테이너 초기화

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>

컨테이너 실행

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>
백업 단일 노드에서의 기본 복원
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>

 

 

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!