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 컨테이너 제한 사항

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

Tableau Server 컨테이너 - 빠른 시작 가이드

이 항목에서는 명령줄을 사용하여 Tableau Server 컨테이너 이미지의 기본적인 빠른 배포를 시작하는 데 필요한 모든 단계에 대해 설명합니다. 여기에 설명되어 있는 구성의 목적은 컨테이너 내부에서 설치된 Linux 기반 Tableau Server를 실행하는 가장 빠르고 간단한 경로를 제공하는 것입니다. Tableau Server 컨테이너에서 제공하는 기능에 대한 심층적인 정보를 살펴보려면 Tableau Server 컨테이너 설정 도구Tableau Server 컨테이너 이미지를 참조하십시오.

중요: 이 빠른 시작 절차를 Tableau Server를 프로덕션 환경에 배포하기 위한 독립 실행형 리소스로 사용하지 마십시오.

시작하기 전에

Tableau Server 컨테이너를 사용하려면 다음 두 가지 기본 단계를 수행해야 합니다.

  1. Docker 이미지 작성

    Tableau Server 컨테이너 이미지를 작성하는 것은 RHEL 기반 Linux 시스템(RHEL, CentOS 또는 Amazon Linux 2)에서만 지원됩니다. 다른 Linux 배포를 기반으로 구축할 수 있지만 현재 테스트되지 않았으며 지원되지 않습니다. macOS 기반 이미지 구축은 지원되지 않습니다. 만들어진 이미지는 UBI 8 이미지(버전 2022.1 이하의 경우 CentOS 7.x)를 기반으로 합니다.

    컨테이너 이미지를 작성하려면 호스트에 Docker 버전 18.09 이상이 설치되어 있어야 합니다. 일반적으로 Docker의 안정된 최신 버전을 사용할 것을 권장합니다. 일부 Linux 배포의 경우 소프트웨어 리포지토리에 이전 버전의 Docker만 있습니다. 이 경우 다른 원본에서 Docker를 설치해야 할 수 있습니다. 버전 18.09 이전의 Docker 버전에는 Tableau Server 컨테이너에 필요한 기능이 포함되어 있지 않습니다.

  2. Docker 이미지 실행

    Tableau Server 컨테이너의 프로덕션 사용은 Linux에서만 지원됩니다. 탐색적 프로토타입 제작 및 테스트 작업을 위해 Linux 기반 Docker 이미지를 실행할 수 있는 모든 시스템은 Tableau Server 컨테이너 이미지를 실행할 수 있어야 합니다(설치 전 수행할 작업...에 설명된 하드웨어 및 운영 체제 요구 사항을 충족한다고 가정).

    Tableau Server 컨테이너 이미지를 실행하려면 Tableau Server와 동일한 하드웨어 리소스가 필요합니다. 프로덕션 배포의 경우 최소 프로덕션 하드웨어 권장 사항에 나와 있는 권장 사항을 따르십시오. 탐색적 작업을 하려면 최소 설치 하드웨어 요구 사항에 표시된 권장 사항을 따르십시오. 공용 클라우드 환경에서 배포하는 경우, 인스턴스 크기 조정에 대한 자세한 권장 사항은 Tableau Server의 최소 하드웨어 요구 사항 및 권장 사항 페이지의 아래쪽에 있는 링크를 참조하십시오. 탐색적 작업을 위해 Windows 또는 macOS에서 Docker Desktop을 사용하는 경우 컨테이너에 대한 기본 리소스 제한이 최소 요구 사항보다 훨씬 낮게 설정되어 있으며 컨테이너를 성공적으로 실행하려면 리소스 제한을 늘려야 합니다.

참고: Tableau 지원 팀은 지원되지 않는 플랫폼 또는 구성에 대한 문제에 대해 도움을 드릴 수 없습니다.

아래 단계에서는 Docker가 설치된 Linux 시스템이 있고 Tableau Server 컨테이너 설정 도구를 다운로드했으며 버전과 호환되는 Tableau Server RPM 설치 프로그램을 다운로드했다고 가정합니다.

  1. Tableau Server 컨테이너 설정 도구의 압축을 풉니다.

    Tableau Server 컨테이너 설정 도구는 tarball로 사용할 수 있습니다. tar 아카이브의 압축을 해제하려면 다음 명령을 사용하면 됩니다.

    tar -xzf tableau-server-container-setup-tool-<VERSION>.tar.gz
  2. 등록 파일을 편집하여 최종 사용자 사용권 계약에 따라 Tableau Server를 등록하는 데 필요한 고유 식별 정보를 제공합니다. reg-info.json 파일은 고유하게 식별 가능한 필수 등록 정보의 템플릿 역할을 하며 Tableau Server 컨테이너 설치 도구의 최상위 디렉터리에 있습니다. 이 파일은 이미지에서 실행 중인 Tableau Server 인스턴스를 등록하는 데 사용됩니다. 정확한 정보를 제공하면 등록 프로세스가 올바르게 완료됩니다.

    eula 필드 값은 EULA(최종 사용자 사용권 계약)에 동의함을 나타내는 "accept"와 함께 미리 채워집니다. 작성 도구의 EULA 디렉터리에서 EULA를 볼 수 있습니다. EULA에 설명된 대로 Tableau Server를 활성화할 때 고유하게 식별할 수 있는 사용자 등록을 제출해야 합니다. 등록 파일 편집을 완료하면 다른 필드에 사용자의 고유한 정보를 반영하는 값이 포함됩니다. 이 파일은 이미지에서 실행 중인 Tableau Server 인스턴스를 등록하는 데 사용됩니다. 정확한 정보를 제공하면 등록 프로세스가 완료되고 라이선스 부여 요구 사항을 충족하는 제출인지 확인할 수 있습니다.

    참고: Tableau Server를 사용하려면 EULA에 동의해야 합니다. EULA에 동의하지 않으면 Tableau Server를 실행할 수 없습니다.

    편집 전 등록 파일 템플릿 reg-info.json:

    {
    "zip" : "<value>",
    "country" : "<value>",
    "city" : "<value>",
    "last_name" : "<value>",
    "industry" : "<value>",
    "eula" : "accept",
    "title" : "<value>",
    "phone" : "<value>",
    "company" : "<value>",
    "state" : "<value>",
    "department" : "<value>",
    "first_name" : "<value>",
    "email" : "<value>"
    }
  3. Tableau Server 컨테이너 이미지를 작성합니다.

    Tableau Server 컨테이너 설정 도구에서 build-image 스크립트를 실행합니다.

    ./build-image --accepteula -i <Tableau Server Installer>.rpm
  4. Tableau Server 컨테이너l 이미지를 실행합니다.

    1. 모든 인수를 입력하여 Docker run 명령을 실행합니다. 명령줄에 다음과 같은 정보를 제공해야 합니다.

      • 라이선스 키 또는 라이선스 키 파일
      • 새 초기 관리자 계정의 사용자 이름 및 비밀번호(Tableau Server를 시작한 후 이 계정을 사용하여 로그인함)
      • 컴퓨터의 정적(내부) 호스트 이름
      • Tableau Server 컨테이너 이미지 이름
    2. 이 정보를 수집했으면 최소 사양 호스트에서 다음 docker 명령을 실행합니다.

      docker run \
      -e LICENSE_KEY=<key> \
      -e TABLEAU_USERNAME=<username> \
      -e TABLEAU_PASSWORD=<password> \
      --hostname=<static (internal) name of host machine> \
      -p 8080:8080 -d <Tableau Server in a Container image ID or tag>
    3. 10~20분 후에 Tableau Server가 초기화됩니다.
  5. Tableau Server 액세스

    Tableau Server가 완전히 초기화되면 웹 브라우저를 열고 http://<hostname>:8080로 이동하여 서버가 제대로 실행되고 있는지 확인합니다. 여기서 <hostname>은 이 이미지를 실행하는 컴퓨터의 호스트 이름입니다.

이 시점에 Docker 컨테이너의 Tableau Server 인스턴스가 실행되고 있어야 합니다. 보다 고급의 사용자 지정된 배포에 대해서는 아래 설명서의 안내에 따르십시오.

배포 구성 예

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>

 

 

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