Tableau Server ในคอนเทนเนอร์

บทนำ

Tableau Server ในคอนเทนเนอร์เป็นการเสนอบริการเซิร์ฟเวอร์ที่ใช้คอนเทนเนอร์เป็นหลักครั้งแรกของ Tableau Tableau Server ในคอนเทนเนอร์เป็นอินสแตนซ์ Tableau Server แบบครบวงจรที่ทำงานอยู่ในคอนเทนเนอร์ Linux Docker กล่าวอีกแง่หนึ่งคืออิมเมจ Tableau Server ในคอนเทนเนอร์เป็นอิมเมจ Docker ที่ใช้แอปพลิเคชัน Tableau Server ทั้งหมดด้วยตนเอง Tableau Server ในคอนเทนเนอร์เป็นหนึ่งในขั้นตอนมากมายของเราในการสนับสนุน Tableau Server ที่ทำงานในสภาพแวดล้อมที่ใช้คอนเทนเนอร์เป็นหลัก

วิธีที่ง่ายที่สุดที่จะทำความเข้าใจแนวคิดของ Tableau Server ในคอนเทนเนอร์คือเสมือนว่าเป็น VM ที่มี Tableau Server ติดตั้งมาแล้วล่วงหน้า อิมเมจจะอิงตามอิมเมจ UBI 8 (CentOS 7 สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) และจะเรียกใช้ supervisord (แทนที่ systemd) ภายในคอนเทนเนอร์ เมื่อคอนเทนเนอร์เริ่มใช้งาน supervisord ระบบจะพยายามเริ่มต้นใช้งานและเปิดใช้ Tableau Server ทันที เอกสารส่วนใหญ่ ณ ที่นี้มุ่งหวังที่จะอธิบายวิธีการกำหนดค่าและใช้ประโยชน์จากกระบวนการอัตโนมัติเพื่อที่คุณจะสามารถเรียกใช้ Tableau Server ในสภาพแวดล้อม Docker ได้

เครื่องมือการตั้งค่าอิมเมจของ Tableau Server ในคอนเทนเนอร์จะช่วยให้คุณสร้างและปรับแต่งอิมเมจคอนเทนเนอร์ให้รวมแพ็กเกจและอาร์ติแฟกต์ที่กำหนดเอง หนึ่งในฟังก์ชันหลักของเครื่องมือคือการสร้างอิมเมจคอนเทนเนอร์และติดตั้งเครื่องมือเชื่อมต่อข้อมูลที่กำหนดเอง

ข้อจำกัดของ Tableau Server ในคอนเทนเนอร์

  • Tableau Server ในคอนเทนเนอร์รองรับเฉพาะการเปิดใช้งานใบอนุญาตโดยใช้ Server ATR เท่านั้น รองรับการเปิดใช้งานแบบออฟไลน์โดยใช้ Server ATR ในเวอร์ชัน 2023.1 และใหม่กว่า ฟังก์ชันนี้พร้อมให้ใช้งานในคอนเทนเนอร์ แต่ต้องมีขั้นตอนและการอนุมัติเพิ่มเติม หากคุณต้องการเรียกใช้ Tableau Server ในคอนเทนเนอร์ในสภาพแวดล้อมแบบตัดขาดจากระบบเครือข่ายหรือออฟไลน์ โปรดติดต่อตัวแทนบัญชีของคุณเพื่อขอข้อมูลเพิ่มเติม
  • ปัจจุบัน Tableau Server ในคอนเทนเนอร์ไม่รองรับเอเจนต์ของ Resource Monitoring Tool (RMT)
  • 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 ก็มีข้อควรพิจารณาเพิ่มเติมที่ควรคำนึงถึง Tableau Server ที่ทำงานในสภาพแวดล้อม Linux จะระบุเชิงไดนามิกว่าต้องสื่อสารกับตัวควบคุมโดเมน AD ใดด้วยการตรวจสอบซับเน็ต IP สามารถมอบหมายที่อยู่ IP ที่กำหนดเองแก่คอนเทนเนอร์ และในกรณีนี้ Tableau Server จะไม่จำเป็นต้องใช้ที่อยู่ IP เพื่อค้นหาตัวควบคุมโดเมนที่เหมาะสม ด้วยเหตุนี้ จึงอาจมีความจำเป็นต้องกำหนดค่าตัวควบคุมโดเมน / ชื่อโฮสต์ที่เฉพาะเจาะจงเพื่อให้ Tableau Server สื่อสารด้วย ซึ่งสามารถทำตามขั้นตอนเหล่านี้:

  1. กำหนดว่าคุณต้องการให้ Tableau Server ใช้ตัวควบคุมโดเมนใดและรับข้อมูลชื่อโฮสต์
  2. ตั้งค่าการกำหนดค่าคีย์ wgserver.domain.ldap.hostname เป็นชื่อโฮสต์ที่ใช้ตัวเลือกการกำหนดค่าผู้ดูแลระบบ Tableau Server มาตรฐาน:

    • กำหนดค่าในไฟล์การกำหนดค่า json CONFIG_FILE
    • ใช้คำสั่งการกำหนดค่า TSM

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

ส่งออกใบรับรอง AD ไปยังคีย์สโตร์ Tableau Server

ตามค่าเริ่มต้นแล้ว Tableau Server ในคอนเทนเนอร์จะสื่อสารกับ AD ผ่าน StartTLS เมื่อใดก็ตามที่มีการผูกโยงค่าแบบง่าย ดังนั้นเมื่อคอนเทนเนอร์ทำงานด้วยการกำหนดค่านี้ เป็นสิ่งจำเป็นที่จะต้องนำเข้าใบรับรองเซิร์ฟเวอร์ AD ไปยังคีย์สโตร์ Tableau Server มิเช่นนั้นการเริ่มต้นทำงานของเซิร์ฟเวอร์จะไม่สำเร็จ ซึ่งสามารถทำตามขั้นตอนเหล่านี้:

  1. สร้างสคริปต์ pre-init-command (ดูที่ส่วนสคริปต์ก่อนการเริ่มต้นทำงาน) เพิ่มบรรทัดต่อไปนี้เพื่อเพิ่มใบรับรอง AD ไปยังคีย์สโตร์ Tableau Server

    ${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. ติดตั้งใบรับรองเซิร์ฟเวอร์ AD ที่เส้นทางไฟล์ที่ระบุสำหรับพารามิเตอร์ -file ในสคริปต์ pre-init-command

หรือสามารถปิดใช้งานการตั้งค่าเริ่มต้นให้สื่อสารกับ AD ผ่าน StartTLS ตั้งค่า wgserver.domain.ldap.starttls.enabled เป็น false เพื่อปิดใช้งาน 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>

 

 

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ